[英]Inserting data into table using apache spark in java
我试图将数据插入数据库的空表中:
Spark版本:2.3.0
要插入的记录数:1000万
方法1:
outputDataSet.write().format("jdbc").option("url", connection).option("dbtable", "XYZ").save();
输出 :错误,指出表已存在。
方法2:
outputDataSet.write().insertInto("XYZ");
输出 :错误,指出表或视图不存在。
我阅读了insertInto(String tableName)
文档,其中说:
因为它将数据插入到现有表中,所以格式或选项将被忽略。
我不确定如何使用apache spark在现有数据库表中插入数据。
编辑
方法3:
outputDataSet.write().mode("append").format("jdbc").option("url", connection).option("dbtable", "XYZ").save();
输出 :进程一直在运行,但是最后我没有杀死该进程,因为它没有停止,因此表中没有任何内容。
我想您可以使用下面的代码。 如果该表不存在,则会创建该表;如果该数据已存在,则将追加数据
outputDataSet.write().mode(SaveMode.Append).insertInto("ABC");
你也可以尝试这个吗
outputDataSet.write.mode(“ append”)。saveAsTable(“ my_table”)
试试吧
outputDataSet.write.format("jdbc").option("url", connection).option("dbtable", "XYZ").mode("overwrite").save();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.