如何将spark数据帧保存为分区hive表的分区

时间:2017-02-10 06:38:06

标签: apache-spark dataframe hive

如何将spark数据帧保存到分区hive表的一个分区中?

raw_nginx_log_df.write.saveAsTable("raw_nginx_log")

上述方法可能会覆盖整个表,但不会覆盖特定的分区。 虽然我可以通过以下代码解决问题,但显然不够优雅。

raw_nginx_log_df.registerTempTable("tmp_table")
sql(s"INSERT OVERWRITE TABLE raw_nginx_log PARTITION (par= '$PARTITION_VAR')")

似乎在stackoverflowc.com中没有提出过类似的问题!

1 个答案:

答案 0 :(得分:0)

YourDataFrame.write.format("parquet").option("/pathHiveLocation").mode(SaveMode.Append).partitionBy("partitionCol").saveAsTable("YourTable")

用于镶木地板文件/桌子。您可以根据自己的要求进行自定义。