gpt4 book ai didi

mysql - sparksql如何批量插入数据到mysql?

转载 作者:行者123 更新时间:2023-11-29 07:30:18 25 4
gpt4 key购买 nike

全部。最近需要用sparksql向mysql中插入1亿左右的数据,但是速度很慢,大概需要1个小时。有人可以有一种有效的插入方式吗?

mysql配置=>

prop.setProperty("user", "user")
prop.setProperty("password", "password")
prop.setProperty("rewriteBatchedStatements", "true")
prop.setProperty("batchsize", "1000000")
prop.setProperty("numPartitions", "3000")

最佳答案

尝试将 ?rewriteBatchedStatements=true 添加到您的 MySQL URI。你的 URI 应该是这样的:jdbc:mysql://host:port/db?rewriteBatchedStatements=true

希望对您有所帮助。

更新

试试吧,它对我有用。设置 driver 属性就可以了。

val prop = new Properties()

prop.setProperty("user", dbUser)
prop.setProperty("password", dbPassword)
prop.put("driver", "com.mysql.jdbc.Driver");

df.write.mode("append").jdbc("jdbc:mysql://" + dbHost + "/" + dbName + "?rewriteBatchedStatements=true", "TABLE_NAME", prop)

而且我还必须导入 Java MySQL 连接器。

    <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>

关于mysql - sparksql如何批量插入数据到mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51629287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com