我想将数据从PySpark DataFrame写入外部数据库,比如Azure MySQL数据库。到目前为止,我已经使用.write.jdbc()成功地做到了这一点,
spark_df.write.jdbc(url=mysql_url, table=mysql_table, mode="append", properties={"user":mysql_user, "password": mysql_password, "driver": "com.mysql.cj.jdbc.Driver" })在这里,如果我没有弄错的话,mode唯一可用的选项是append和overwrite,但是,我希望对数据的编写方式有更多的控制。例如,我希望能够执行更新和删除操作。
我该怎么做?可以说,编写SQL查询将数据写入外部数据库吗?如果是的话,请举个例子。
发布于 2021-11-03 02:44:27
首先,我建议您使用特定的Azure SQL连接器。https://learn.microsoft.com/en-us/azure/azure-sql/database/spark-connector。
然后,我建议您使用块状模式,因为逐行模式很慢,如果打开日志分析,可能会引起意外费用。
最后,对于任何类型的数据转换,都应该使用ELT模式:
https://stackoverflow.com/questions/69819061
复制相似问题