Apache spark Spark:将大型数据帧写入mysql经常失败

Apache spark Spark:将大型数据帧写入mysql经常失败,apache-spark,pyspark,emr,Apache Spark,Pyspark,Emr,我正在为mysql数据库(AWS RDS上的Aurora)编写一个大型数据帧 我大致做了以下工作(伪代码) 数据帧大约有650000个元素,有时(是的,只是有时)在插入过程中死亡,或者至少我认为这就是正在发生的事情 在stderr中,底部某处有一行代码,表示应用程序正在退出,状态为1,错误。但除了最后一点之外,没有任何错误 这是一种将大量数据写入mysql数据库的不可靠方法吗?如何将我的大型数据帧保存到mysql数据库中,而不让它如此频繁地消亡 编辑:spark 2.0、emr 5.0AFAIK

我正在为mysql数据库(AWS RDS上的Aurora)编写一个大型数据帧

我大致做了以下工作(伪代码)

数据帧大约有650000个元素,有时(是的,只是有时)在插入过程中死亡,或者至少我认为这就是正在发生的事情

stderr
中,底部某处有一行代码,表示应用程序正在退出,状态为1,错误。但除了最后一点之外,没有任何错误

这是一种将大量数据写入mysql数据库的不可靠方法吗?如何将我的大型数据帧保存到mysql数据库中,而不让它如此频繁地消亡


编辑:spark 2.0、emr 5.0

AFAIK
df.write.jdbc(url
是正确的方式,请参考@zero323。另外,请查看失败原因/更多详细信息,并粘贴在此处。还请提及spark的版本、执行者的数量和其他信息。650K行应该不会太糟糕,当然,除非有其他原因导致您出现问题(例如,MySQL和您的EMR集群之间的网络稳定性、MySQL数据库负载或表结构)。您能否提供有关这些方面的更多信息?另外,请尝试看看其他线程上的建议是否有帮助:
rdd1 = sc.textFile("/some/dir")
rdd2 = rdd.map(addSchema)
df = sqlContext.createDataFrame(rdd2)
df.write.jdbc(url="...", table="mydb.table", mode="append")