如何将 Pyspark DataFrame 对象存储到 Hive 表中,"primary12345" 是 Hive 表?我使用以下代码masterDataDf
是一个数据框对象
masterDataDf.write.saveAsTable("default.primary12345")
低于错误
:java.lang.RuntimeException:使用 SQLContext 创建的表必须是 TEMPORARY。请改用 HiveContext。
您可以创建一个临时表。
masterDataDf.createOrReplaceTempView("mytempTable")
然后,可以使用简单的 hive 语句创建表并从临时表中转储数据。
sqlContext.sql("create table primary12345 as select * from mytempTable");
或
如果要使用 HiveContext您需要拥有/创建 HiveContext
import org.apache.spark.sql.hive.HiveContext;
HiveContext sqlContext = new org.apache.spark.sql.hive.HiveContext(sc.sc());
然后直接保存数据帧或选择要存储为 Hive 表的列
masterDataDf.write().mode("overwrite").saveAsTable("default.primary12345 ");