我有一个按日期划分的表,我试图覆盖一个特定的分区,但当我尝试下面的代码时,它会覆盖整个表
query.write.partitionBy("date").mode(SaveMode.Overwrite).format("orc").insertInto(mytableName)
但是我想通过给分区列名和它的值来覆盖一个特定的分区 partitionBy(date='20-01-2021')
;
有没有办法覆盖一个特定的分区?
我有一个按日期划分的表,我试图覆盖一个特定的分区,但当我尝试下面的代码时,它会覆盖整个表
query.write.partitionBy("date").mode(SaveMode.Overwrite).format("orc").insertInto(mytableName)
但是我想通过给分区列名和它的值来覆盖一个特定的分区 partitionBy(date='20-01-2021')
;
有没有办法覆盖一个特定的分区?
2条答案
按热度按时间yrdbyhpb1#
您可以指定要覆盖的分区的完整路径。在这种情况下,你不需要这样做
query.write.partitionBy("date")
你需要放弃date
写之前列:wqnecbli2#
尝试这种方法并适应您的具体情况:
需要在Hive或Spark里摆table。
该方法是动态的:
在安装之后用这种方式更新一个分区
看看效果,调整你的具体情况。