我在hdfs中加载了一个数据文件和qc文件,我想比较qc文件中的计数和数据文件行计数。为此,我编写了一个shell脚本,它提取qc文件的count部分并 wc -l
对于数据文件。
对于qa文件:
qccount=$(webhdfs -cat hdfs://${CLUSTER_NAME}$hdfs_src_path/$directory/$qc_file_name | cut -d "|" -f2) echo "QC file count: $qccount";
这个打印出来的数字是256341
对于数据文件:
file_count=$(webhdfs -cat hdfs://${CLUSTER_NAME}$hdfs_src_path/$directory/$data_file_name | wc -l | cut -d " " -f1) echo "File count: $file_count";
这打印出0
这里的wc-l文件在hdfs中不起作用,我可以知道原因吗?
1条答案
按热度按时间kpbpu0081#
你应该用这样的方法:
file_count=$(hdfs dfs -cat hdfs://${CLUSTER_NAME}$hdfs_src_path/$directory/$data_file_name | wc -l)
echo "File count: $file_count";
注意:我不知道你为什么用webhdfs -cat
而不是hdfs dfs -cat