我有表存储在数据块集群默认数据库中。
我的表2:
我使用如下代码使用 JDBC 连接到 databrick 默认集群并将表读入 pyspark 数据框
url = 'jdbc:databricks://[workspace domain]:443/default;transportMode=http;ssl=1;AuthMech=3;httpPath=[path];AuthMech=3;UID=token;PWD=[your_access_token]'
driver_class = 'com.databricks.client.jdbc.Driver'
# create a DataFrame by querying the MySQL database
df_1 = spark.read.format("jdbc")\
.option("url", url)\
.option("driver", driver_class)\
.option("dbtable", 'my_table2')\
.load()
df_1.show()
最终的 df_1 数据帧变为
+----+
|name|
+----+
|name|
|name|
|name|
+----+
请帮忙!
最后的结果应该是
+----+
|name|
+----+
|John|
|Jane|
|Bob |
+----+
请遵循JDBC语法:
jdbc:sqlserver://<server_name>.database.windows.net:1433;database<database_name>;user=<user_name>;password=<Password>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
我在环境中重现了同样的结果。
使用 JDBC 连接 azure Databricks 和 azure SQL
代码:
url = 'jdbc:sqlserver://<server_name>.database.windows.net:1433;database<database_name>;user=<user_name>;password=<Password>;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;'
driver_class = 'com.microsoft.sqlserver.jdbc.SQLServerDriver'
df_1 = spark.read.format("jdbc").option("url", url).option("driver", driver_class).option("dbtable", 'table1').load()
df_1.show()
# Create a view or table
df_1.createOrReplaceTempView("my_table2")
输出: