如何将 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 从来没有问过类似的问题!
YourDataFrame.write.format("parquet").option("/pathHiveLocation").mode(SaveMode.Append).partitionBy("partitionCol").saveAsTable("YourTable")
对于镶木地板文件/表格。您可以根据需要对其进行自定义。