Hive分区恢复

时间:2016-05-26 06:15:43

标签: hive hdfs hql hadoop-partitioning

如何以简单的方式恢复分区。这是场景:

  
      
  1. 现有外部表't'
  2. 上有'n'个分区   
  3. 丢弃表't'
  4.   
  5. 重新制作的表格't' //注意:相同的表但排除了某些列
  6.   
  7. 如何恢复步骤#1中表't'存在的'n'分区?
  8.   

我可以通过编写一些脚本手动更改表以添加'n'分区。但那非常乏味。是否有内置的东西来恢复这些分区?

2 个答案:

答案 0 :(得分:1)

当HDFS中仍存在分区目录时,只需运行以下命令:

MSCK REPAIR TABLE table_name;

它根据表目录中存在的内容将分区定义添加到Metastore中。

答案 1 :(得分:0)

元数据不会保存在垃圾箱中,会永久删除;您将无法恢复已删除的表,分区等的元数据。参考:http://www.cloudera.com/documentation/archive/cdh/4-x/4-7-1/CDH4-Installation-Guide/cdh4ig_hive_trash.html