HDFS中复制分区的最佳方法

问题描述 投票:1回答:2

因此,我有一个用例,我想复制表的最后一个分区,并将其插入具有新分区列值的同一表中。

请注意,始终知道最后一个分区值。

我可以想到两种方法来实现

  1. where partitionColumn = partitionValue中获取DataFrame并使用.withColumn然后saveAsTable更改分区值,然后执行无效/刷新
  2. OR,
    1. 从最后一个分区目录复制parquet文件
    2. 创建新分区,将其粘贴到新目录中,并以/newPatritionValue/结尾”>
    3. 粘贴实木复合地板文件
    4. 运行ALTER TABLE

哪个会运行得更快?

因此,我有一个用例,我要复制表的最后一个分区,并将其插入具有新分区列值的同一表中。重要的是要注意,最后一个分区值始终是...

apache-spark hive hdfs parquet impala
2个回答
0
投票

我认为方法1


0
投票

如果新分区中的数据将无限期保持与旧分区相同(即,您不打算在其中添加/更改数据),则只需添加新分区并将其location指向旧分区即可:

© www.soinside.com 2019 - 2024. All rights reserved.