从一个命令插入表或创建表

时间:2016-07-07 10:52:10

标签: python apache-spark pyspark

我试图将PySpark DataFrame保存为表格:

myDf.write.saveAsTable("myDf")

但是,如果我运行代码两次,我得

u'Table `myDf` already exists.;'

如果我这样保存:

myDf.write.inserInto("myDf")

我会收到此错误:u'Table not found: myDf;'

那么如何保存表格,无论我运行代码多少次,我都不会收到错误。

2 个答案:

答案 0 :(得分:0)

为什么不能用if condition来检查表格是否存在?

如果没有,根据您的使用情况,您可以使用registerDataFrameAsTable(df, tableName)将给定的DataFrame注册为目录中的临时表,该表仅在SQLContext实例的生命周期内存在。

您可以参考documentation了解更多详情。 有了这个,你应该能够多次运行你的代码而不会出错。

答案 1 :(得分:0)

myDf.write.mode("overwrite").saveAsTable("myDf")

这显然是一个"哦,我希望我知道它是如此简单"场景(一直发生在我身上),但如果您需要更多的话,这里是ref