HDFS查看文件行数及大小

文件行数

Linux下的文件行数:

wc -l filename  #文件行数
wc -l dirname/*  #文件夹内容所有文件行数

hdfs内文件行数:

hadoop fs -cat filename | wc -l
hadoop fs -cat 'filename/*' | wc -l #文件夹内所有文件行数之和

 

详解:
wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

参数:

-c或–bytes或——chars:只显示Bytes数;

-l或——lines:只显示列数;

-w或——words:只显示字数。


文件大小

第一种方式:查看当前目录下的各级目录分别大小

hdfs dfs -du -h /user/hive/warehouse/

#查看结果
19.7 K   59.0 K   /user/hive/warehouse/hive_test
0        0        /user/hive/warehouse/test_float
67       201      /user/hive/warehouse/test_float2
... ... /..
#第一列为单个文件实际大小,第二列为备份大小,第三列为详情目录。

第二种方式

hdfs dfs -ls -h /user/hive/warehouse/
drwxrwxrwt   - hdfs hive          0 2020-11-09 14:13 /user/hive/warehouse/hive_test
drwxrwxrwt   - hdfs hive          0 2020-11-20 17:51 /user/hive/warehouse/test_float
drwxrwxrwt   - hdfs hive          0 2020-11-20 18:05 /user/hive/warehouse/test_float2
#这种方式需要注意:当子文件目录过多时,统计的大小为0。

第三种方式:查看指定目录下的总大小:

hdfs dfs -du -s -h /目录

hdfs dfs -du -s -h /user/hive/warehouse/
# 结果
97.1 G  291.3 G /user/hive/warehouse

第一列标示该目录下总文件大小

第二列标示该目录下所有文件在集群上的总存储大小和你的副本数相关,我的副本数是3 ,所以第二列的是第一列的三倍 (第二列内容=文件大小*副本数)

第三列标示你查询的目录