我最近开始使用Spark,遇到了一些情况,我读了一些数据,进行了一些计算,并且需要将所有输出记录插入到netezza表中。我能够从我的netezza数据库读取和写入数据,但是当我尝试从我的DataFrame向表中插入记录时,我在Netezza Admin屏幕上看到该进程创建了大约100多个插入查询,我的数据集可以从4M到15M不等。以下是我实现这一目标的方法:
我的DataFrame
是tableDF
jprop = JavaClass("java.util.Properties", sc._gateway._gateway_client)()
for k in properties:
jprop.setProperty(k, properties[k])
sc._jvm.org.apache.spark.sql.execution.datasources.jdbc.JdbcUtils.saveTable(tableDF._jdf,netezzaServerURL,tableName,jprop)
当我尝试插入记录时,是否可以帮助我确定如何限制连接/插入查询的数量?我需要设置JDBC
连接中的配置吗? DataFrame paritionBy,也许?