0

我正在尝试使用 Azure Databricks 来:

1- 使用 python 3 将行插入 Azure SQL 数据库的表中。我看不到有关插入行的文档。(我已使用此链接连接到数据库Doc并且它正在工作)。

2- 将 Csv 文件保存在我的数据湖中

3-如果可能的话,从数据框创建表

感谢您的帮助,并对我的新手问题感到抱歉

4

1 回答 1

0

**1- 使用 python 3 将行插入 Azure SQL 数据库的表中。**

Azure Databricks 已安装 JDBC 驱动程序。我们可以使用 JDBC 驱动程序通过 Dataframe 将数据写入 SQL Server。更多详情,请参阅此处

例如

jdbcHostname = "<hostname>"
jdbcDatabase = ""
jdbcPort = 1433
jdbcUrl = "jdbc:sqlserver://{0}:{1};database={2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
  "user" : jdbcUsername,
  "password" : jdbcPassword,
  "driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
}

#write
df=spark.createDataFrame([(1, "test1"),(2,"test2")],["id", "name"])
df.write.jdbc(url=jdbcUrl,table="users",mode="overwrite",properties=connectionProperties)

#check

df1 = spark.read.jdbc(url=jdbcUrl, table='users', properties=connectionProperties)
display(df1)

.

2- 从数据框创建表

如果要从 datafarme 创建 DataBricks 表,可以使用方法registerTempTablesaveAsTable.

registerTempTable创建一个内存表,该表的范围仅限于创建它的集群。数据使用 Hive 高度优化的内存列格式存储。

saveAsTable使用 Parquet 格式创建存储在 S3 中的永久物理表。该表可供所有集群访问,包括仪表板集群。包含文件位置的表元数据存储在 Hive 元存储中。

更多详情,请参阅此处此处

于 2020-12-07T05:06:52.573 回答