我需要将一些数据从AWS上的Databricks推送到SAP云,并且鼓励我使用python (https://pypi.org/project/hdbcli/)。我能找到的唯一的文档是pypi中的,这是相当稀少的。我可以看到一个如何将各个行推送到sql表的示例,但我没有发现如何将保存到SAP数据仓库云中的表的示例。
文件示例:
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()
我在我的数据砖笔记本中尝试了以下几种方法:
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数据仓库云。任何帮助都将不胜感激。
发布于 2022-10-24 19:56:35
您应该考虑使用SAP HANA的Python机器学习客户端 (hana-ml
)。您可以将其看作是hdbcli
之上的抽象层。发送和检索数据的中心对象是哈纳数据,它的行为类似于Pandas,但是保存在数据库端(即可以是一个表)。
对于您的场景,您应该能够使用函数create_dataframe_from_spark()
创建HANA和表(参见文档)。
关于hdbcli
的直接使用,您可以找到完整的文档这里 (也可以在PyPi上链接)。
发布于 2022-10-24 14:28:12
我不同意使用hdbcli
。相反,查看从火花直接连接,这个说明应该是有帮助的。
https://stackoverflow.com/questions/74182486
复制相似问题