我有一张包含4百万条记录的表格,每天都有新数据出现,我需要在处理新数据后更新表格。目前我正在为此目的这样做。我正在使用scala。
val batchSize = 1000
df.rdd mapPartitions (_ grouped batchSize) foreach { batch =>
{
val connection = getConnection();
val statement = connection.createStatement();
batch.foreach { row =>
val query = "UPDATE temp SET file_name='" + row.get(0) + " WHERE id=" + row.get(3);
statement.executeUpdate(query);
}
connection.close();
}
}
这不是确切的查询,但我这样做。这需要大约1小时来更新表格。我需要提高性能。我怎样才能实现表现。
答案 0 :(得分:1)
看起来像火花的并发部分是正确的,应该从基础设施(在这种情况下是数据库)进一步优化