在spark 1.6

时间:2017-05-09 20:19:15

标签: apache-spark pyspark spark-dataframe

我在pyspark中有一个名为df的数据框。

我已将此df注册为temptable

df.registerTempTable('mytempTable')

现在我想使用create table like statement在hive中创建一个表。

sqlContext.sql("create table {}.{} like mytempTable".format(hivedb,table))

但我收到如下错误

pyspark.sql.utils.AnalysisException: u"cannot recognize input near 'like' 'mytempTable' '<EOF>' in select clause; line 1 pos 59"

我在这个问题上找到了JIRA,看起来此问题已在spark 2.0修复。

问题是我的spark版本是1.6

spark 1.6中是否有解决此问题的方法。

JIRA链接位于https://issues.apache.org/jira/browse/SPARK-5720

1 个答案:

答案 0 :(得分:1)

试试这个:

sqlContext.sql("create table {}.{} as select * from mytempTable ".format(hivedb,table))

或:

df.write.mode("overwrite").saveAsTable("{}.{}".format(hivedb,table))