博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop fs 获取文件大小
阅读量:5279 次
发布时间:2019-06-14

本文共 2219 字,大约阅读时间需要 7 分钟。

du

使用方法:hadoop fs -du URI [URI …]

显示目录中所有文件的大小,或者当只指定一个文件时,显示此文件的大小。

示例:
hadoop fs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://host:port/user/hadoop/dir1 
返回值:
成功返回0,失败返回-1。 

dus

使用方法:hadoop fs -dus <args>

显示文件的大小。

 

hadoop fs -du -s -h ${filePath} = ${SIZE}  ${filePath}

-h 表示将大小进行转换使用合适的单位。

-du可以接受多个文件路径,且当文件路径不存在时,不影响随后的路径的计算。

 

300个路径测试dus比du快3秒,平均一条路径快0.01秒。

实际应用中统计67727个目录,可以差出十分钟之多。

 

 ======================================================

以下转自:

很多hadoop用户经常迷惑hadoop fsck,hadoop fs -dus,hadoop -count -q等hadoop文件系统命令输出的大小以及意义。

这里对这类问题做一个小结。首先我们来明确2个概念:

  • 逻辑空间,即分布式文件系统上真正的文件大小
  • 物理空间,即存在分布式文件系统上该文件实际占用的空间

为什么逻辑空间一般不等于物理空间?

分布式文件系统为了保证文件的可靠性,往往会保存多个备份(一般是3份),只要备份数不为1的情况下,一般物理空间会是逻辑空间的几倍。关系如下:

HDFS物理空间=逻辑空间*block备份数

hadoop fsck和hadoop fs -dus 

执行hadoop fsck和hadoop fs -dus显示的文件大小表示的是文件占用的逻辑空间。

$ hadoop fsck /path/to/directory Total size: 16565944775310 B <=== 看这里 Total dirs: 3922 Total files: 418464 Total blocks (validated): 502705 (avg. block size 32953610 B) Minimally replicated blocks: 502705 (100.0 %) Over-replicated blocks: 0 (0.0 %) Under-replicated blocks: 0 (0.0 %) Mis-replicated blocks: 0 (0.0 %) Default replication factor: 3 Average block replication: 3.0 Corrupt blocks: 0 Missing replicas: 0 (0.0 %) Number of data-nodes: 18 Number of racks: 1 FSCK ended at Thu Oct 20 20:49:59 CET 2011 in 7516 milliseconds The filesystem under path '/path/to/directory' is HEALTHY $ hadoop fs -dus /path/to/directory hdfs://master:54310/path/to/directory 16565944775310 <=== 看这里

正如命令示例所见,hadoop fsck和hadoop fs -dus报告的文件大小都是HDFS文件实际占用的大小,即这个空间大小是没有算块的备份数的。文件真正占用的物理空间=逻辑空间block备份数据,即16565944775310 3=49697834325930,这个49697834325930是物理空间。

hadoop fs -count -q 

通过执行hadoop fs -count -q /path/to/directory 可以看到这个目录真正的空间使用情况。执行结果如下:

$ hadoop fs -count -q /path/to/directory QUOTA REMAINING_QUOTA SPACE_QUOTA REMAINING_SPACE_QUOTA DIR_COUNT FILE_COUNT CONTENT_SIZE FILE_NAME none inf 54975581388800 5277747062870 3922 418464 16565944775310 hdfs://master:54310/path/to/directory

fs -count -q会输出8列,分别表示如下:

命名空间的quota(限制文件数) 剩余的命名空间quota 物理空间的quota (限制空间占用大小) 剩余的物理空间 目录数统计 文件数统计 目录逻辑空间总大小 路径

可以看出通过hadoop fs -count -q 可以看到一个目录比较详细的空间和qutoa占用情况,包含了物理空间、逻辑空间、文件数、目录数、qutoa剩余量等。

转载于:https://www.cnblogs.com/suanec/p/7001333.html

你可能感兴趣的文章
DP+矩阵快速幂 HDOJ 5318 The Goddess Of The Moon
查看>>
后缀数组 POJ 1743 Musical Theme
查看>>
编译原理
查看>>
final修饰的变量是引用不能变还是对象的内容不能变?
查看>>
SSH协议
查看>>
iOS UITableView划动删除的实现
查看>>
python学习_解释器接口模块:sys
查看>>
JS闭包导致循环给按钮添加事件时总是执行最后一个
查看>>
360手机权限开启方法
查看>>
类别category 总结
查看>>
6.腾讯微博Android客户端开发——换取Access Token
查看>>
C# 常用扩展方法
查看>>
HDU-寻找最大值 递推求连续区间
查看>>
Docker入门
查看>>
Anagram
查看>>
可服务性需求
查看>>
VB.NET 结构(Structure)和类(Class)的区别
查看>>
django(1)
查看>>
java面向对象
查看>>
javascript 之拼接html字符串
查看>>