我正在使用 Spark 1.4.0 (PySpark)。我使用此查询从 Hive 表加载了一个 DataFrame:
sqlContext = HiveContext(sc)
table1_contents = sqlContext.sql("SELECT * FROM my_db.table1")
当我尝试table1_contents
使用 DataFrameWriter#insertInto 函数将数据从一些转换后插入到 table2 中时:
sqlContext.createDataFrame(transformed_data_from_table1).write.insertInto('my_db.table2')
我遇到这个错误:
py4j.protocol.Py4JJavaError: An error occurred while calling o364.insertInto.
: org.apache.spark.sql.AnalysisException: no such table my_db.table2;
我知道我的表是存在的,因为当我输入时:
print sqlContext.tableNames('my_db')
显示 table1 和 table2。任何人都可以帮助解决这个问题吗?