这个问题在这里已经有答案了:
如何使用hdfs命令计算文件中的行数(3个答案)5年前关门了。我在计算一个文件中的行数 hdfs / HIVE . 在某些情况下,我需要整个表的行数 HIVE ,在某些情况下,我只需要一个文件中的行数 HIVE .我试过一些事情,比如 !hadoop fs -count /<path to file(s)/ ,但这只会 FILE COUNT ,那么 CONTENT_SIZE . 从这里开始如何获得行数?
hdfs
HIVE
!hadoop fs -count /<path to file(s)/
FILE COUNT
CONTENT_SIZE
7z5jn7bk1#
如果您想知道行的总数,可以检查“map input records”计数器。这将给出给定输入中的总行数(这是目录中的所有文件)。如果您需要给定文件中的行数(我仍然不明白为什么需要这样做),则需要为已读取给定文件的Map程序获取相同的计数器。这可能有点棘手,但它是可行的。如果您在yarn上使用hadoop,我建议您使用yarn的restapi,在m/r处理的某些部分上进行这种“快速查询”非常容易使用和方便。
798qvoo82#
hive不允许您仅在一个文件上创建表。请记住,在配置单元中创建表时,是在文件夹顶部创建的(允许我们添加更多文件)只有一种方法可以将一个文件读入配置单元中的表中。将数据[local]inpath'/input\u folder/input\u file.txt'加载到表dest\u table中;计算表中的行数从dest\u表中选择count(*);下面的链接提供了一些有用的信息:如何将文本文件加载到存储为序列文件的配置单元表中
2条答案
按热度按时间7z5jn7bk1#
如果您想知道行的总数,可以检查“map input records”计数器。这将给出给定输入中的总行数(这是目录中的所有文件)。
如果您需要给定文件中的行数(我仍然不明白为什么需要这样做),则需要为已读取给定文件的Map程序获取相同的计数器。这可能有点棘手,但它是可行的。
如果您在yarn上使用hadoop,我建议您使用yarn的restapi,在m/r处理的某些部分上进行这种“快速查询”非常容易使用和方便。
798qvoo82#
hive不允许您仅在一个文件上创建表。请记住,在配置单元中创建表时,是在文件夹顶部创建的(允许我们添加更多文件)
只有一种方法可以将一个文件读入配置单元中的表中。
将数据[local]inpath'/input\u folder/input\u file.txt'加载到表dest\u table中;
计算表中的行数
从dest\u表中选择count(*);
下面的链接提供了一些有用的信息:
如何将文本文件加载到存储为序列文件的配置单元表中