Hadoop 蜂巢移动&;恢复一些分区

Hadoop 蜂巢移动&;恢复一些分区,hadoop,hive,export,hdfs,metadata,Hadoop,Hive,Export,Hdfs,Metadata,我有一个50TB的托管分区(按日期)配置单元表,我想从中将一些旧分区移动到一个外部HDD,以便在需要时将它们恢复回来 脚本如下: 迁出: $ hdfs dfs -get ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01 ${LOCAL_TABLE_PATH}/2016-01-01 $ hdfs dfs -rm -r -skipTrash ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01 $

我有一个50TB的托管分区(按日期)配置单元表,我想从中将一些旧分区移动到一个外部HDD,以便在需要时将它们恢复回来

脚本如下:

迁出:

$ hdfs dfs -get ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01 ${LOCAL_TABLE_PATH}/2016-01-01
$ hdfs dfs -rm -r -skipTrash ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01
$ hive -e "ALTER TABLE ${TABLE} DROP IF EXISTS PARTITION (ingestion_date='2016-01-01') PURGE;" 
恢复:

$ hdfs dfs -put ${LOCAL_TABLE_PATH}/2016-01-01 ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01
$ hive -e "ALTER TABLE ${TABLE} ADD PARTITION (ingest_date='2016-01-01') LOCATION ${HIVE_WAREHOUSE_TABLE_PATH}/ingest_date=2016-01-01;"
我是否错过了上述策略中的某些内容

我试过:

$hive--hivevar local_path=${local_TABLE_path}-e“导出表myDatabase.theTable分区(ingest_date='2016-01-01')到“${local_path}/2016-01-01';”

但是,对于1年的分区,这需要很长时间才能进行复制,我正试图避免这种情况

谢谢你,

Gee

HIVE metastore仍然知道分区
ingest_date=2016-01-01
,因此我不确定影响是什么。我宁愿删除分区(这将删除HDFS上的文件),然后在restoreThanks@Harold上手动重新创建它。我根据你的评论编辑了OP看起来不错。只需使用
-rm-skipTrash
即可立即释放存储空间。但是:“altertabletdroppartition”也不会删除HDFS文件吗?第2步似乎不是必需的。无论如何,回答一个问题,我会接受的。不需要rm