如何计算文件hdfs的行数



我正在计算hdfs/HIVE中文件的行数。在某些情况下,我希望在HIVE中显示整个表的行数,在某些情况中,我希望仅在HIVE中显示文件中的行数。

我尝试过一些东西,比如!hadoop fs -count /<path to file(s)/,但这只给出了FILE COUNT,然后是CONTENT_SIZE。从这里

如何获取行数?

如果您想知道行的总数,可以查看"映射输入记录"计数器。这将为您提供给定输入中的总行数(这是目录中的所有文件)。

如果你需要给定文件中的行数(我仍然不明白你为什么需要),你需要为读取给定文件的映射器获取相同的计数器。这可能会有点棘手,但它是可行的。

如果您在Yarn上使用Hadoop,我建议您使用Yarn的REST API,它非常易于使用,并且非常方便地在M/R处理的某些部分进行这种"快速查询"。

Hive不允许您仅在一个文件上创建表。请记住,当您在配置单元中创建表时,您会在文件夹顶部创建它。(这允许我们添加更多文件)

只有一种方法可以在配置单元中的表中只读取一个文件。

将data[local]inpath'/input_folder/input_file.txt'加载到dest_table表中;

计算表中的行数

从dest_table中选择count(*);

下面的链接有一些有用的信息:

如何将文本文件加载到存储为序列文件的Hive表中

相关内容

  • 没有找到相关文章

最新更新