我在hdp2.6.5集群和hadoop2.7.5上使用spark2.3.0。我今天晚上遇到一个问题。我正在我的一个验证脚本中使用下面的动态分区覆盖。
DF.coalesce(1).write.partitionBy("run_date","dataset_name").mode("overwrite").csv("/target/path")
但它只是用\u success文件写入空白输出。我在spark会话中设置了以下配置。
.config("spark.sql.sources.partitionOverwriteMode","dynamic")
如果我从.partitionby()中删除任何一列,这都可以正常工作
我想知道为什么它不写Dataframe输出到csv与动态分区的多列!
如果有人能在这件事上帮我,那就太好了。
1条答案
按热度按时间tjrkku2a1#
这个问题似乎是hdp2.6.5的一个bug,因为使用多列动态分区覆盖的相同场景在hdp3.1和spark2.3.2中工作得非常好。