我正在尝试实现一个功能,将大约 4000 万条记录上传到 AWS 上托管的 MySQL 数据库。然而,我的 write 语句无限长时间地卡在 94%。
这是我用来通过 rewriteBatchedStatements
上传 df_intermediate.write.mode("append").jdbc(jdbcUrl, "user", connectionProperties)
的命令并在连接属性中启用 useServerPrepStmts
。
此语句适用于少量点(50000),但无法处理如此大的数量。我还增加了 MySQL 端的最大连接数。
编辑:我在 GCP n1-standard-16 机器上运行它。
为什么写入卡在94%?
最佳答案
我认为这与 Scala 没有任何关系,你只是说你想将很多行添加到数据库中。快速的答案是不要在一个事务中包含所有这些,并且一次提交 100 个。首先在非生产 SQL 数据库上尝试一下,看看是否有效。
关于mysql - 使用Scala JDBC进行大数据上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58585152/