因此,我有一个用例,我想复制表的最后一个分区,并将其插入具有新分区列值的同一表中。
请注意,始终知道最后一个分区值。
我可以想到两种方法来实现
where partitionColumn = partitionValue
中获取DataFrame
并使用.withColumn
然后saveAsTable
更改分区值,然后执行无效/刷新parquet
文件/newPatritionValue/
结尾”>ALTER TABLE
哪个会运行得更快?
因此,我有一个用例,我要复制表的最后一个分区,并将其插入具有新分区列值的同一表中。重要的是要注意,最后一个分区值始终是...
我认为方法1
如果新分区中的数据将无限期保持与旧分区相同(即,您不打算在其中添加/更改数据),则只需添加新分区并将其location
指向旧分区即可: