Spark和MSSQL插入速度

时间:2017-10-09 13:22:07

标签: sql-server scala apache-spark jdbc

我遇到了一个问题,即使用JDBC驱动程序将数十万条记录插入MSSQL数据库需要大约一小时的火花。

  • Spark版本:2.2.0
  • MSSQL JDBC驱动程序版本:6.1.0.jre8

查看配置文件我注意到Spark(或者很可能是JDBC驱动程序)为我的DataFrame中的每一行生成一个单独的插入,这当然很慢。

我查看了JDBC配置,但未找到启用批量插入的方法。

有没有办法配置Spark应用程序,以便它使用BULK INSERT插入数据或生成大批量?

1 个答案:

答案 0 :(得分:1)

Microsoft发布了特殊的Spark connector for Azure SQL Database,以提供也可用于普通MsSql数据库的此功能。您可以在其GitHub页面https://github.com/Azure/azure-sqldb-spark#bulk-copy-to-azure-sql-database-or-sql-server

上看到批量插入示例