我在HDFS上有一个文件,我想知道有多少行.(testfile的)
在linux中,我可以这样做:
wc -l <filename>
Run Code Online (Sandbox Code Playgroud)
我可以用"hadoop fs"命令做类似的事吗?我可以打印文件内容:
hadoop fs -text /user/mklein/testfile
Run Code Online (Sandbox Code Playgroud)
我怎么知道我有多少行?我想避免将文件复制到本地文件系统然后运行wc命令.
注意:我的文件使用snappy压缩进行压缩,这就是为什么我必须使用-text而不是-cat
小智 74
文件总数:
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
1.映射器输出文件的行数:
`~]$ hadoop fs -cat /user/cloudera/output/part-m-00000 | wc -l`
Run Code Online (Sandbox Code Playgroud)
2. hdfs 上的文本或任何其他文件的行数:
`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | wc -l`
Run Code Online (Sandbox Code Playgroud)
3. 在 hdfs 上的文本或任何其他文件的顶部(标题)5 行:
`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | head -5`
Run Code Online (Sandbox Code Playgroud)
4. hdfs 上文本或任何其他文件的后 10 行:
`~]$ hadoop fs -cat /user/cloudera/output/abc.txt | tail -10`
Run Code Online (Sandbox Code Playgroud)
您不能使用hadoop fs命令来执行此操作。要么你有写的MapReduce代码与逻辑在此解释后还是这个猪脚本会有所帮助。
A = LOAD 'file' using PigStorage() as(...);
B = group A all;
cnt = foreach B generate COUNT(A);
Run Code Online (Sandbox Code Playgroud)
确保您的快照文件具有正确的扩展名,以便Pig可以检测并读取它。
| 归档时间: |
|
| 查看次数: |
41198 次 |
| 最近记录: |