首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何使用hdbcli在databricks中保存一个到SAP Hana (SAP数据仓库云)?

我如何使用hdbcli在databricks中保存一个到SAP Hana (SAP数据仓库云)?
EN

Stack Overflow用户
提问于 2022-10-24 14:16:54
回答 2查看 59关注 0票数 0

我需要将一些数据从AWS上的Databricks推送到SAP云,并且鼓励我使用python (https://pypi.org/project/hdbcli/)。我能找到的唯一的文档是pypi中的,这是相当稀少的。我可以看到一个如何将各个行推送到sql表的示例,但我没有发现如何将保存到SAP数据仓库云中的表的示例。

文件示例:

代码语言:javascript
运行
复制
sql = 'INSERT INTO T1 (ID, C2) VALUES (:id, :c2)'
cursor = conn.cursor()
id = 3
c2 = "goodbye"
cursor.execute(sql, {"id": id, "c2": c2})
# returns True
cursor.close()

我在我的数据砖笔记本中尝试了以下几种方法:

代码语言:javascript
运行
复制
df.createOrReplaceTempView("final_result_local")
sql = "INSERT INTO final_result SELECT * FROM final_result_local"
cursor.execute(sql)
cursor.close()

在此之后,我得到了以下错误:

表名无效:无法在模式FINAL_RESULT_LOCAL中找到表/视图DATABRICKS_SCHEMA

似乎df.createOrReplaceTempView在与hdbcli调用的上下文中创建了sql表,而且我不知道如何将本地表推入sap数据仓库云。任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2022-10-24 19:56:35

您应该考虑使用SAP HANA的Python机器学习客户端 (hana-ml)。您可以将其看作是hdbcli之上的抽象层。发送和检索数据的中心对象是哈纳数据,它的行为类似于Pandas,但是保存在数据库端(即可以是一个表)。

对于您的场景,您应该能够使用函数create_dataframe_from_spark()创建HANA和表(参见文档)。

关于hdbcli的直接使用,您可以找到完整的文档这里 (也可以在PyPi上链接)。

票数 1
EN

Stack Overflow用户

发布于 2022-10-24 14:28:12

我不同意使用hdbcli。相反,查看从火花直接连接,这个说明应该是有帮助的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74182486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档