繁体   English   中英

如何将 spark dataframe 写入现有的 SQL 服务器表?

[英]How can I write a spark dataframe to an existing SQL Server table?

我想使用火花作业从 hive 表中提取数据,然后将其插入现有的 SQL 服务器表中,即刷新填充样式。

我打算使用df.write.jdbc() ,但是似乎这种方法无法传入SaveMode.Overwrite参数。 目前, SaveMode 是ErrorIfExists

我怎样才能解决这个问题?

你可以试试这个

df.write.mode("overwrite").jdbc()

有一种截断目标表的方法,但并非所有 SQL 服务器 JDBC(根据我的经验)都支持。 正如您在下面的代码中看到的那样,您可以将mode设置为"overwrite" ,然后将选项"truncate"设置为true (其中prop是要设置的附加属性

spark.range(10).write.mode("overwrite").option("truncate", true).jdbc(url, "table", prop)

相同的另一种格式是

df.write.option("truncate", "true").jdbc(url=DATABASE_URL, table=DATABASE_TABLE, mode="overwrite", properties=DATABASE_PROPERTIES)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM