我有一个关于hdfs的文件,我想知道有多少行(测试文件)在linux中,我可以:
wc -l <filename>
我可以使用“hadoop fs”命令执行类似的操作吗?我可以打印文件内容:
hadoop fs -text /user/mklein/testfile
我怎么知道我有多少行?我希望避免将文件复制到本地文件系统,然后运行wc命令。注意:我的文件是使用snappy压缩压缩的,这就是为什么我必须使用-text而不是-cat
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`
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
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
4xrmg8kj3#
你不能用一只手 hadoop fs 命令。要么你必须用本文中解释的逻辑编写一个mapreduce代码,要么这个pig脚本会有所帮助。
hadoop fs
A = LOAD 'file' using PigStorage() as(...); B = group A all; cnt = foreach B generate COUNT(A);
确保您的snappy文件具有正确的扩展名,以便pig能够检测并读取它。
3条答案
按热度按时间sc4hvdpw1#
1Map器输出文件的行数:
2hdfs上文本或任何其他文件的行数:
三。hdfs上文本或任何其他文件的顶部(标题)5行:
4hdfs上文本或任何其他文件的最后10行:
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
4xrmg8kj3#
你不能用一只手
hadoop fs
命令。要么你必须用本文中解释的逻辑编写一个mapreduce代码,要么这个pig脚本会有所帮助。确保您的snappy文件具有正确的扩展名,以便pig能够检测并读取它。