【发布时间】:2019-01-23 21:33:23
【问题描述】:
使用 Databricks 笔记本,我可以从 Databricks 连接到“雪花”,并使用“scala”将内容写入雪花中的表,但使用“python”无法正常工作。
我在 Databricks 中添加了这两个库,这有助于在 Databricks 和 Snowflake 之间建立连接:
snowflake-jdbc-3.6.8 和 spark-snowflake_2.11-2.4.4-spark_2.2。
我的目标是使用 Databricks(用于机器学习 - Spark)并在 Databricks 和 Snowflake 之间来回移动数据。
这是代码,我试图将 DataFrame 的内容写入雪花:
- 将数据加载到 DataFrame 中
df1 = spark.read.format('csv').option("header", "true")\
.option("inferSchema", "true")\
.load("dbfs:/databricks-datasets/airlines/part-00000")
display(df1)
我可以看到数据已加载到数据框中。
- 使用机密管理器获取 Snowflake 用户的登录名和密码。
user = dbutils.secrets.get(scope="jdbc", key="snowflake_username")
password = dbutils.secrets.get(scope="jdbc", key="snowflake_password")
- 雪花连接选项:
options = dict(sfUrl="https://***snowflake_username***.snowflakecomputing.com",
sfUser=user,
sfPassword=password,
sfDatabase="my_database",
sfSchema="PUBLIC",
sfWarehouse="my_warehouse")
SNOWFLAKE_SOURCE_NAME = "net.snowflake.spark.snowflake"
目前没有错误
- 将 DataFrame 的内容写入 Snowflake
df1.write.format(SNOWFLAKE_SOURCE_NAME) \
.options(**options) \
.option("dbtable", "datafromspark") \
.save()
导致:
**Error :
java.sql.SQLException: No suitable driver found for jdbc:snowflake://https://*snowflake_username*.snowflakecomputing.com**
【问题讨论】:
标签: jdbc databricks snowflake-cloud-data-platform