26. Spark DataFrame写入Hive Orc 分区表

26.

Spark DataFrame写入Hive Orc 分区表

分区表建立过程不过多演示,只给出写入hive表的过程。

//方法一:
addStgCompanyDF.write.partitionBy("dt").mode(SaveMode.Overwrite).orc("hdfs://XXXX/apps/hive/warehouse/XXXX.db/XXXXX/")

//方法二:
addStgCompanyDF.repartition(1).write.mode(SaveMode.Append).format("orc").insertInto("XXXX.XXXX")  

Overwrite形式举例:
.write.mode(SaveMode.Overwrite).format("orc").saveAsTable("库名.表名")

Append形式举例:
.write.mode(SaveMode.Append).format("orc").insertInto("库名.表名")

分区表Overwrite形式举例:
.write.partitionBy("XX").mode(SaveMode.Overwrite).format("orc").saveAsTable("库名.表名")

分区表append(insertInto)形式举例:
.repartition(1).write.mode(SaveMode.Append).format("orc").insertInto("XXXX.XXXX")  

数据写入hdfs后,如果通过hive去查询,表中无数据,还需要使用 msck 修复hive元数据信息。

https://community.hortonworks.com/questions/198754/msck-repair-hive-external-tables.html

https://www.ibm.com/support/knowledgecenter/en/SSCRJT_5.0.1/com.ibm.swg.im.bigsql.commsql.doc/doc/biga_msckrep.html

  1. hive> Msck repair table .

 

此贴来自汇总贴的子问题,只是为了方便查询。

总贴请看置顶帖:

pyspark及Spark报错问题汇总及某些函数用法。

https://blog.csdn.net/qq0719/article/details/86003435

 

你可能感兴趣的:(26. Spark DataFrame写入Hive Orc 分区表)