Python PySpark插件覆盖
我正在尝试将数据帧中的数据插入配置单元表。我已经能够使用Python PySpark插件覆盖,python,apache-spark,pyspark,hive,Python,Apache Spark,Pyspark,Hive,我正在尝试将数据帧中的数据插入配置单元表。我已经能够使用 df.write.insertInto(“db1.table1”,overwrite=True) 我只是对overwrite=True部分有点困惑——我多次尝试运行它,它似乎是附加的,而不是覆盖的。文档中没有太多内容,但是我应该在什么时候将overwrite设置为Falsevs.True?
df.write.insertInto(“db1.table1”,overwrite=True)
我只是对
overwrite=True
部分有点困惑——我多次尝试运行它,它似乎是附加的,而不是覆盖的。文档中没有太多内容,但是我应该在什么时候将overwrite设置为False
vs.True
?
仅当蜂巢中的表已经存在时才起作用
df.write.insertInto(“db.table1”,overwrite=False)
将将数据附加到现有配置单元表中
df.write.insertInto(“db.table1”,overwrite=True)
将覆盖配置单元表中的数据
示例:
df.show()
#+----+---+
#|name| id|
#+----+---+
#| a| 1|
#| b| 2|
#+----+---+
#save the table to hive
df.write.saveAsTable("default.table1")
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
df.write.insertInto("moch.table1",overwrite=True)
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
#appending data to hive
df.write.insertInto("moch.table1",overwrite=False)
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
#a 1
#b 2
df.insertInto
仅当配置单元中的表已经存在时才起作用
df.write.insertInto(“db.table1”,overwrite=False)
将将数据附加到现有配置单元表中
df.write.insertInto(“db.table1”,overwrite=True)
将覆盖配置单元表中的数据
示例:
df.show()
#+----+---+
#|name| id|
#+----+---+
#| a| 1|
#| b| 2|
#+----+---+
#save the table to hive
df.write.saveAsTable("default.table1")
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
df.write.insertInto("moch.table1",overwrite=True)
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
#appending data to hive
df.write.insertInto("moch.table1",overwrite=False)
#from hive
#hive> select * from table1;
#OK
#a 1
#b 2
#a 1
#b 2
如何插入未创建配置单元表的S3位置?ETL工作只是将数据加载到S3,以便下游进程使用,但不需要创建表来感谢有用的用户。改进示例的一个小建议是使用不同的数据帧来演示df.write.insertInto(“moch.table1”,overwrite=True)
。现在还不清楚表本身是否被覆盖或重复的行是否被更新。如何插入到未创建配置单元表的S3位置?ETL工作只是将数据加载到S3,以便下游进程使用,但不需要创建表来感谢有用的用户。改进示例的一个小建议是使用不同的数据帧来演示df.write.insertInto(“moch.table1”,overwrite=True)
。现在还不清楚表本身是被覆盖了还是重复的行被更新了。