ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

统计HDFS中文件数量、大小、以及在某范围大小的文件数量

2022-01-20 16:33:47  阅读:121  来源: 互联网

标签:tmp 文件 HDFS -- supergroup 2018 大小 root 10


说明:统计HDFS文件数量大小,小于20M文件数量

 

1、HDFS 相关命令

# 统计文件大小
hdfs dfs -du -h / 

# 统计文件数量,返回的数据是目录个数,文件个数,文件总计大小,输入路径
hdfs dfs -count / 

#统计所有文件的信息,过滤文件夹, 只统计文件,因为使用-ls -R 之后,可以看到文件是”-“开头,文件夹是”d”开头
hdfs dfs -ls -R /path/data | grep ^- > /data.txt 

 

可见,文件是”-“开头,文件夹是”d”开头:

 

 

2、取一些测试数据

使用:hdfs dfs -ls -R / |grep ^-

数据保存在 data.txt 文件中;

-rw-r--r--   3 root            supergroup          0 2018-08-31 10:36 /tmp/azkaban/mutiTest_3_1/_SUCCESS
-rw-r--r--   3 root            supergroup      70514 2018-08-31 10:36 /tmp/azkaban/mutiTest_3_1/part-00000-c-88980650a164-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:37 /tmp/azkaban/mutiTest_3_2/_SUCCESS
-rw-r--r--   3 root            supergroup     160152 2018-08-31 10:37 /tmp/azkaban/mutiTest_3_2/part-00000-f74649c51ec416add-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:38 /tmp/azkaban/mutiTest_3_3/1/_SUCCESS
-rw-r--r--   3 root            supergroup     200425 2018-08-31 10:38 /tmp/azkaban/mutiTest_3_3/1/part-00000-9cd-8ff3-5755f0d74277-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:38 /tmp/azkaban/mutiTest_3_3/2/_SUCCESS
-rw-r--r--   3 root            supergroup        523 2018-08-31 10:38 /tmp/azkaban/mutiTest_3_3/2/part-00000-80c5c6-f830a3dabf10-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:36 /tmp/azkaban/mutiTest_4_1/_SUCCESS
-rw-r--r--   3 root            supergroup      70514 2018-08-31 10:36 /tmp/azkaban/mutiTest_4_1/part-00000-be924497-0b11-44a2f6898-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:37 /tmp/azkaban/mutiTest_4_2/_SUCCESS
-rw-r--r--   3 root            supergroup     160152 2018-08-31 10:37 /tmp/azkaban/mutiTest_4_2/part-00000-f2e48a28-5463-43ee-b92f-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:38 /tmp/azkaban/mutiTest_4_3/1/_SUCCESS
-rw-r--r--   3 root            supergroup     200425 2018-08-31 10:38 /tmp/azkaban/mutiTest_4_3/1/part-00000-00d149ae-c471-9d-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-08-31 10:38 /tmp/azkaban/mutiTest_4_3/2/_SUCCESS
-rw-r--r--   3 root            supergroup        523 2018-08-31 10:38 /tmp/azkaban/mutiTest_4_3/2/part-00000-6e4ea458-f4df-47aa-c000.snappy.parquet
-rw-r--r--   3 root            supergroup          0 2018-09-14 10:35 /tmp/casted-abalone/_SUCCESS
-rw-r--r--   3 root            supergroup      65512 2018-09-14 10:35 /tmp/casted-abalone/part-00000-40e7daf1-6a4b-4512-a776000.snappy.parquet
-rw-r--r--   3 root            supergroup     203890 2018-09-12 14:22 /tmp/data.csv
-rwxrwxrwx   3 root            supergroup    2234332 2018-09-11 17:19 /tmp/directory/application_11111111111_0158
-rwxrwxrwx   3 root            supergroup    2278733 2018-09-11 17:22 /tmp/directory/application_11111111111_0159
-rwxrwxrwx   3 root            supergroup    2285701 2018-09-11 17:23 /tmp/directory/application_11111111111_0160
-rwxrwxrwx   3 root            supergroup    2263181 2018-09-12 08:55 /tmp/directory/application_11111111111_0161
-rwxrwxrwx   3 root            supergroup    2508930 2018-09-12 10:25 /tmp/directory/application_11111111111_0162
-rwxrwxrwx   3 root            supergroup    2657162 2018-09-12 10:57 /tmp/directory/application_11111111111_0163
-rwxrwxrwx   3 root            supergroup  789259696 2018-09-12 15:19 /tmp/directory/application_11111111111_0164
-rwxrwxrwx   3 root            supergroup  799593790 2018-09-12 15:52 /tmp/directory/application_111111111111_0165
-rwxrwxrwx   3 root            supergroup  800492474 2018-09-12 16:21 /tmp/directory/application_11111111111_0166
-rwxrwxrwx   3 root            supergroup     186277 2018-09-12 16:29 /tmp/directory/application_11111111111_0167
-rwxrwxrwx   3 root            supergroup     193286 2018-09-12 16:32 /tmp/directory/application_11111111111_0168

 

3、使用python脚本分析

安装numpy和pandas模块:

> pip3 install -i https://pypi.doubanio.com/simple/  numpy

> pip3 install -i https://pypi.doubanio.com/simple/ pandas

 

脚本内容:

#!/usr/bin/env python
# encoding: utf-8

import pandas as pd

# data.txt中有8列数据
file = 'data.txt'

# 统计数据一共8列
df = pd.read_table(file, delim_whitespace=True, names=[1, 2, 3, 4, 5, 6, 7, 8])
print('文件总行数:{}'.format(len(df)))

# 第五列是大小,取小于20M(换算成b)的文件数据
df1 = df[df[5] < 20971520]

# 统计数量
print('小于20M的文件数:{}'.format(len(df1)))

 

运行:

 

上述方案也可以通过分析fsimage文件来实现,后续写一篇操作文档;

 

标签:tmp,文件,HDFS,--,supergroup,2018,大小,root,10
来源: https://www.cnblogs.com/weiyiming007/p/15826852.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有