result.foreachPartition(
it => {
var url = "jdbc:mysql://地址/库名?characterEncoding=utf8"
val conn = DriverManager.getConnection(url, "user", "password")
val pstat = conn.prepareStatement("INSERT IGNORE INTO `表名 (`geo_hash`, `month_sale`, `mark_size`) VALUES (?, ?,?)")
for (obj <- it) {
pstat.setString(1, obj._1)
pstat.setInt(2, obj._2)
pstat.setInt(3, obj._3)
pstat.addBatch
}
try {
pstat.executeBatch
} finally {
pstat.close
conn.close
}
}
)
本文介绍了一种使用Scala进行批量数据插入MySQL的方法。通过foreachPartition遍历数据集,并利用JDBC连接数据库,实现高效的数据写入操作。适用于大数据处理场景下的数据同步任务。
705

被折叠的 条评论
为什么被折叠?



