Python 我可以使用Pyspark更新远程Mysql数据库中表中的值吗?

Python 我可以使用Pyspark更新远程Mysql数据库中表中的值吗?,python,mysql,pyspark,apache-kafka,pyspark-sql,Python,Mysql,Pyspark,Apache Kafka,Pyspark Sql,我使用kafka读取远程mysql数据库,并将其传递给Pyspark streaming以应用情绪分析,然后使用该值更新ht e mysql数据库中的列。这是最好的情况还是有一种比这更有效的架构?你的问题有点含糊,但还是这样 是的,您可以使用df.write.jdbc()将Spark数据帧写入任何jdbc数据库。这是医生 您的代码看起来像这样 url = "jdbc:mysql://localhost/foobar" properties = { "use

我使用kafka读取远程mysql数据库,并将其传递给Pyspark streaming以应用情绪分析,然后使用该值更新ht e mysql数据库中的列。这是最好的情况还是有一种比这更有效的架构?你的问题有点含糊,但还是这样

是的,您可以使用
df.write.jdbc()
将Spark数据帧写入任何
jdbc
数据库。这是医生

您的代码看起来像这样

url = "jdbc:mysql://localhost/foobar"

properties = {
    "user": "foo",
    "password": "bar"
}

df.write.jdbc(url=url, table="tablename", mode="overwrite", properties=properties)
这将提供四种写入模式:

追加:将此数据帧的内容追加到现有数据

覆盖:覆盖现有数据

忽略:如果数据已经存在,则以静默方式忽略此操作

error或errorifexists(默认情况):如果数据已经存在,则引发异常


或者,既然您使用的是Spark Streaming,为什么不将dataframe变更日志作为新主题生成,并使用Kafka Connect之类的工具将此表同步到您的
mysql
数据库。这使您可以更好地控制如何向表中插入/更新/上传数据。

很抱歉,但我认为这个问题对于StackOverflow来说可能太广泛了。您能否更详细地介绍一下您认为效率低下的地方,或者您希望提高效率的地方?使用spark在MySql数据库中进行更新。因为我在互联网上搜索了很多相同的案例,但是我没有找到一段代码。所以我认为这可能是一个更好的解决办法。