相关疑难解决方法(0)

优化bash命令以计算HDFS txt文件中的所有行

摘要:

我需要计算HDFS实例中所有.txt文件中的所有唯一行。

.txt文件的总大小约为450GB

我使用以下bash命令:

hdfs dfs -cat /<top-level-dir>/<sub-dir>/*/*/.txt | cut -d , -f 1 | sort --parallel=<some-number> | uniq | wc -l

问题在于该命令将占用所有可用内存,并且HDFS实例以代码137(内存不足)退出。

题:

我有什么办法可以限制整个命令的ram使用率,比如说hdfs中的可用空间的一半,或者以某种方式在命令仍在运行时清理内存?

更新:

我需要删除| 排序 因为它是一个合并排序实现,所以空间复杂度为O(n)。

我只能使用| uniq | 没有| 排序

sorting bash out-of-memory hdfs

1
推荐指数
1
解决办法
100
查看次数

标签 统计

bash ×1

hdfs ×1

out-of-memory ×1

sorting ×1