hadoop fs 获取文件大小
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 fsck、fs -dus、-count -q的大小输出
很多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剩余量等。
hadoop fs 获取文件大小的更多相关文章
- 【转】Hadoop FS Shell命令
FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args> 的形式. 所有的的FS shell命令使用URI路径作为参数.URI格式是scheme ...
- HDFS的基本shell操作,hadoop fs操作命令
(1)分布式文件系统 随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管 ...
- Hadoop fs命令详解
本文非原创,转载自http://www.superwu.cn/2013/07/31/312 另外参考:http://www.blogjava.net/changedi/archive/2013/08/ ...
- 用java运行Hadoop程序报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.
用java运行Hadoop例程报错:org.apache.hadoop.fs.LocalFileSystem cannot be cast to org.apache.所写代码如下: package ...
- Hadoop fs 命令详解
1. 环境:hadoop-2.6.0 2. 参数说明: hadoop fs [-appendToFile <localsrc> ... <dst>] [-cat [-ignor ...
- Hadoop fs -put bandwidth 暴力版
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...
- hadoop fs 命令使用
参考:https://segmentfault.com/a/1190000002672666 命令基本格式: hadoop fs -cmd < args > 1.ls hadoop fs ...
- 013_HDFS文件合并上传putmarge功能(类似于hadoop fs -getmerge)
场景 合并小文件,存放到HDFS上.例如,当需要分析来自许多服务器的Apache日志时,各个日志文件可能比较小,然而Hadoop更合适处理大文件,效率会更高,此时就需要合并分散的文件.如果先将所有文件 ...
- hadoop fs 常用命令(1)
Hadoop: https://blog.csdn.net/mulangren1988/article/details/54860924 Hadoop:1. Hadoop fs –fs [local ...
随机推荐
- 【Little Demo】左右按钮tab选项卡双切换
通过前一篇文章 从简单的Tab标签到Tab图片切换 的说明,相关效果也就可以实现了. 1.左右按钮tab选项卡双切换 很明显,左右两个按钮是 absolute 布局,另外就是内容部分和Tab标签部分. ...
- 用oc写爬虫之HTMLParser
最近刚好有一些小需求,就尝试用OC来写一些简单的爬虫抓取网页上的数据: 发现了一个非常好用的HTMLParser工具 ; 语法是OC的,通过分析网页结构:可以很轻松的抓取需要的数据: 但是提前需要了解 ...
- VS2017不能打开stdio.h等文件
从另一台机器上复制过来的项目,由于两台机器的库目录不一致,导致了stdio.h等很多文件都打不开: 解决的办法是从新设置包含目录.选择项目-->%项目名称%属性-->VC++目录,设置包含 ...
- 【PMP】项目浮动的三种时间
自由浮动时间 不影响后续工作最早可以开始时间的前提下,这项工作可以拖延的时间叫做自由浮动时间. 总浮动时间 不影响项目总工期的情况下活动可以拖延的总时间. 项目浮动时间 在已经排好的总工期的基础上,领 ...
- ROS actionlib学习(三)
下面这个例子将展示用actionlib来计算随机变量的均值和标准差.首先在action文件中定义goal.result和feedback的数据类型,其中goal为样本容量,result为均值和标准差, ...
- EasyUI 的 combotree 加载数据后折叠起来,并且只允许单击子节点的写法
$(source).combotree({ url: '', width: kuan, valueField: 'id', textField: 'text', onlyLeafCheck: true ...
- 第三部分:Android 应用程序接口指南---第二节:UI---第八章 Toast通知
第8章 Toast通知 Toast通知是在窗口前面弹出的信息.它只占有信息所需要的空间量,并且用户当前的activity仍然是可见的.可互动的.这种通知自动地淡入和淡出,它不接受交互事件.他相当于一种 ...
- KVM上如何让虚拟机支持虚拟化(kvm虚拟化的嵌套)
http://blog.csdn.net/swimming_in_it_/article/details/53320141http://blog.csdn.net/wickedglory/articl ...
- 开始逐步补充下相关Web知识,很多年没搞了....
<script type="text/javascript"> $(function(){ ShowProduct(); $("#ShowUserInfo&q ...
- 解决Android微信支付官方demo运行失败
Android微信支付官方demo运行失败,在此简单记录一下解决步骤 1.httpclient错误 官方给的demo是eclipse的,打开之后提示httpclient的错误,我知道在as下解决htt ...