我遇到了一个问题,即使用JDBC驱动程序将数十万条记录插入MSSQL数据库需要大约一小时的火花。
查看配置文件我注意到Spark(或者很可能是JDBC驱动程序)为我的DataFrame中的每一行生成一个单独的插入,这当然很慢。
我查看了JDBC配置,但未找到启用批量插入的方法。
有没有办法配置Spark应用程序,以便它使用BULK INSERT插入数据或生成大批量?
答案 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
上看到批量插入示例