shell—在hdfs中查找文件的行计数,以与qc文件中的行计数进行比较

jobtbby3  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(385)

我在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中不起作用,我可以知道原因吗?

kpbpu008

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

相关问题