unix – 使用命令行查找hdfs分布式文件中的总行数
发布时间:2020-12-15 18:58:28 所属栏目:安全 来源:网络整理
导读:我正在开发一个集群,其中数据集以分布式方式保存在hdfs中.这是我有的: [hmi@bdadev-5 ~]$hadoop fs -ls /bdatest/clm/data/Found 1840 items-rw-r--r-- 3 bda supergroup 0 2015-08-11 00:32 /bdatest/clm/data/_SUCCESS-rw-r--r-- 3 bda supergroup 344043
我正在开发一个集群,其中数据集以分布式方式保存在hdfs中.这是我有的:
[hmi@bdadev-5 ~]$hadoop fs -ls /bdatest/clm/data/ Found 1840 items -rw-r--r-- 3 bda supergroup 0 2015-08-11 00:32 /bdatest/clm/data/_SUCCESS -rw-r--r-- 3 bda supergroup 34404390 2015-08-11 00:32 /bdatest/clm/data/part-00000 -rw-r--r-- 3 bda supergroup 34404062 2015-08-11 00:32 /bdatest/clm/data/part-00001 -rw-r--r-- 3 bda supergroup 34404259 2015-08-11 00:32 /bdatest/clm/data/part-00002 .... .... 数据格式如下: [hmi@bdadev-5 ~]$hadoop fs -cat /bdatest/clm/data/part-00000|head V|485715986|1|8ca217a3d75d8236|Y|Y|Y|Y/1X||Trimode|SAMSUNG|1x/Trimode|High|Phone|N|Y|Y|Y|N|Basic|Basic|Basic|Basic|N|N|N|N|Y|N|Basic-Communicator|Y|Basic|N|Y|1X|Basic|1X|||SAM|Other|SCH-A870|SCH-A870|N|N|M2MC| 所以,我想要做的是计算原始数据文件数据中的总行数.我的理解是像00000,part-00001等分布式块有重叠.因此,只计算part-xxxx文件中的行数并对它们求和将不起作用.原始数据集数据的大小约为70GB.如何有效地找出总行数?
更有效率 – 您可以使用spark来计算数量.的线条.以下代码段有助于计算行数.
text_file = spark.textFile("hdfs://...") count = text_file.count(); count.dump(); 这显示了没有的计数.的线条. 注意:不同零件文件中的数据不会重叠 使用hdfs dfs -cat / bdatest / clm / data / part- * | wc -l也会为您提供输出,但这会将所有数据转储到本地计算机并花费更长的时间. 最好的解决方案是使用MapReduce或spark. MapReduce需要更长的时间来开发和执行.如果安装了火花,这是最好的选择. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |