gpt4 book ai didi

hadoop - Hadoop HDFS 中的数据保留

转载 作者:可可西里 更新时间:2023-11-01 15:02:23 29 4
gpt4 key购买 nike

我们有一个 Hadoop 集群,在 HDFS 中有超过 100TB 的数据。我想删除某些 Hive 表中超过 13 周的数据。

有什么工具或方法可以实现这一目标吗?

谢谢

最佳答案

要删除特定时间段之前的数据,您有几种选择。

首先,如果 Hive 表按日期分区,您可以简单地删除 Hive 中的分区并删除它们的底层目录。

第二个选项是对新表运行 INSERT,使用日期戳(如果可用)过滤掉旧数据。这可能不是一个好的选择,因为您有 100TB 的数据。

第三种选择是递归列出 Hive 表的数据目录。 hadoop fs -lsr /path/to/hive/table .这将输出文件列表及其创建日期。您可以获取此输出,提取日期并与您想要保留的时间范围进行比较。如果文件较旧,那么你想保留,运行 hadoop fs -rm <file>在上面。

第四种选择是获取 FSImage 的副本:curl --silent "http://<active namenode>:50070/getimage?getimage=1&txid=latest" -o hdfs.image接下来把它变成一个文本文件。 hadoop oiv -i hdfs.image -o hdfs.txt .文本文件将包含 HDFS 的文本表示,与 hadoop fs -ls ... 相同会回来的。

关于hadoop - Hadoop HDFS 中的数据保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011078/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com