【发布时间】:2019-10-13 05:06:00
【问题描述】:
我正在尝试将我的数据框写入分区配置单元表。配置单元表格式是镶木地板。
但我无法将 df 写入 Hive 表。
我正在尝试将我的数据框写入分区配置单元表。配置单元表格式是镶木地板。
但我无法将 df 写入 Hive 表。
Spark2.3 和分区 hive 表
当我尝试将 finaldf 加载到 hive 分区表中时,出现以下错误
finaldf.write.mode("overwrite").format("parquet").partitionBy("mis_dt","country_codfe").saveAsTable("FinalTable")
错误:u'Cannot overwrite table schema.Offertablethat is also being read from;'
当我搜索上述错误时,他们建议将 df 加载到临时表中并加载到最终的配置单元表中。我尝试了该选项,但再次失败并出现不同的错误。
finaldf.createOrReplaceTempView('tmpTable')
final= spark.read.table('tmpTable')
final.write.mode("overwrite").insertInto("Finaltable")
错误:创建的分区数为 7004,大于 1000。
但我不认为我们有那么多分区。
finaldf.write.mode("overwrite").format("parquet").partitionBy("mis_dt","country_codfe").saveAsTable("FinalTable")
第二个选项:
finaldf.createOrReplaceTempView('tmpTable')
final= spark.read.table('tmpTable')
final.write.mode("overwrite").insertInto("Finaltable")
我希望使用 spark 2.3 将数据写入 hive parquet 文件格式表
finaldf.write.mode("overwrite").format("parquet").partitionBy("mis_dt","cntry_cde").saveAsTable("finaltable")
【问题讨论】:
标签: apache-spark-sql pyspark-sql parquet