如何使用hdfs命令计算文件中的行数?

pdkcd3nj  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(644)

我有一个关于hdfs的文件,我想知道有多少行(测试文件)
在linux中,我可以:

wc -l <filename>

我可以使用“hadoop fs”命令执行类似的操作吗?我可以打印文件内容:

hadoop fs -text /user/mklein/testfile

我怎么知道我有多少行?我希望避免将文件复制到本地文件系统,然后运行wc命令。
注意:我的文件是使用snappy压缩压缩的,这就是为什么我必须使用-text而不是-cat

sc4hvdpw

sc4hvdpw1#

1Map器输出文件的行数:

`~]$ hadoop fs -cat /user/cloudera/output/part-m-00000 | wc -l`

2hdfs上文本或任何其他文件的行数:

`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | wc -l`

三。hdfs上文本或任何其他文件的顶部(标题)5行:

`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | head -5`

4hdfs上文本或任何其他文件的最后10行:

`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | tail -10`
5vf7fwbs

5vf7fwbs2#

文件总数: hadoop fs -ls /path/to/hdfs/* | wc -l 总行数: hadoop fs -cat /path/to/hdfs/* | wc -l 给定文件的总行数: hadoop fs -cat /path/to/hdfs/filename | wc -l

4xrmg8kj

4xrmg8kj3#

你不能用一只手 hadoop fs 命令。要么你必须用本文中解释的逻辑编写一个mapreduce代码,要么这个pig脚本会有所帮助。

A = LOAD 'file' using PigStorage() as(...);
B = group A all;
cnt = foreach B generate COUNT(A);

确保您的snappy文件具有正确的扩展名,以便pig能够检测并读取它。

相关问题