【发布时间】:2018-12-26 11:29:58
【问题描述】:
我不小心删除了一个 Hive 内部表,与内部表 (xyz_table) 关联的所有文件都自动从 HDFS 位置 (/hive/warehouse/abc_mes.db/xyz_table/) 删除/p>
我们使用带有 Azure 文件存储 (AFS) 作为存储层的 Azure HDInsight 集群。
有人可以建议如何恢复 HDFS 上的文件..我检查了垃圾箱,我可以在那里看到非常旧的文件,比如 4 个月大的文件,但在 /home//.trash 下找不到任何最近的文件.. .
如果有人可以指导,不胜感激
干杯
【问题讨论】:
-
使用“托管”表(您称之为“内部”)的全部意义在于数据文件在 DROP 命令中被删除。这是与“外部”表的唯一区别。并且 Hive 总是跳过 HDFS Trash。所以你完蛋了。
-
使用真正的 HDFS,您可以在每个 WE 拍摄 Hive Warehouse 目录的snapshot,但现在为时已晚,而且您无论如何也不使用 HDFS。
-
感谢@SamsonScharfrichter,据我所知,Azure HDInsight 集群和 Azure 文件存储或多或少是 HDFS 并支持所有 HDFS 命令。顺便说一句,您能否更详细地了解快照过程,或者指向一个有用的链接
标签: hive azure-storage data-recovery