我使用microsoftjavaapi:azure.sqldb.spark批量插入sparkDataframe。我想增加批处理大小,但是我发现每个分区的输入大小是32.1MB(几乎120000条记录),对于任何值的bulkcopybatchsize。下面是spark界面的截图。
https://i.stack.imgur.com/gzi5s.png
这里是所使用的配置(我甚至尝试了小值的bulkcopybatchsize,我发现输入大小总是32.1mb)(我使用了一个localspark)
java.util.Map<String, Object> map = new java.util.HashMap<String, Object>();
map.put("url", resultProperties.dbServer);
map.put("databaseName", resultProperties.dbName);
map.put("user", resultProperties.dbUser);
map.put("password", resultProperties.dbPassword);
map.put("dbTable", "dbo.RESULT_DATA");
map.put("bulkCopyBatchSize", "1048576");
map.put("bulkCopyTableLock", "false");
map.put("bulkCopyTimeout", "600");
Map<String, Object> props = JavaConverters.mapAsScalaMapConverter(map).asScala().toMap(Predef.$conforms());
config = new com.microsoft.azure.sqldb.spark.config.SqlDBConfigBuilder(props).build();
暂无答案!
目前还没有任何答案,快来回答吧!