mysql - 使用Scala JDBC进行大数据上传

标签 mysql scala jdbc insert

我正在尝试实现一个功能,将大约 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/

相关文章:

Python - 计算文本搜索相关性分数的库

php - 如何在 MySQL 中按喜欢/不喜欢对评论进行排序

Scala 或 Spring 的 Spring 替代品?

scalacache内存化异步刷新

java - 如何从jdbc连接中知道客户端ip端口

jquery - 在 jQuery DataTables 中使用 fnFooterCallback 添加第二个总行

mysql - 用 0 更改 Null

scala - 为什么 Spark 应用程序以 "ClassNotFoundException: Failed to find data source: jdbc"作为带有 sbt 程序集的 uber-jar 失败?

java - 函数处于无效状态 : Oracle with Jdbc

java - 我想减少 java 脚本读取文本文件并将其存储到 mysql 数据库的时间