zoukankan      html  css  js  c++  java
  • Hadoop中如何查看文件的block size

    因为对控制文件的分片数目,进而控制文件的map个数非常感兴趣,因此有查找如下资料的需求。下面来看看我总结的吧:)


    当向HDFS上写文件时,可以通过设置dfs.blocksize配置项来设置文件的block size,这导致HDFS上不同文件的block size是不同的。有时候我们需要知道HDFS上某个文件的block size,比如想知道该该文件作为job的输入会创建几个map等。Hadoop FS Shell提供了一个-stat选项可以达到目的。官方文档描述这个选项时遗漏了可选参数。-stat选项的使用格式是:
    {HADOOP_HOME}/bin/hadoop fs –stat [format]
     
    其中可选的format被官方文档遗漏了。下面列出了format的形式:
    %b:打印文件大小(目录为0)
    %n:打印文件名
    %o:打印block size (我们要的值)
    %r:打印备份数
    %y:打印UTC日期 yyyy-MM-dd HH:mm:ss
    %Y:打印自1970年1月1日以来的UTC微秒数
    %F:目录打印directory, 文件打印regular file
     
    当使用-stat选项但不指定format时候,只打印文件创建日期,相当于%y:
    [hadoop@cMaster hadoop-2.5.2]$ bin/hadoop fs -stat /filein/file_128M.txt15/03/18 09:47:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    2015-01-06 01:43:23
     
    下面的例子打印文件的block size和备份个数:
    [hadoop@cMaster hadoop-2.5.2]$ bin/hadoop fs -stat "%o %r" /filein/file_1024M.txt
     
    15/03/18 09:48:25 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    134217728 1
     
    可以看到/filein/file_1024M.txt文件的blocksize大小为128M,有一份。
  • 相关阅读:
    减少.NET应用程序内存占用的一则实践
    ASP.NET中检测图片真实否防范病毒上传
    PHP、Python 相关正则函数实例
    利用脚本将java回归到面向函数式编程
    ASP.Net 实现伪静态方法及意义
    ExecuteNonQuery()方法
    在.net中使用split方法!
    str.split()如何用?谢谢
    输出货币型
    (DataRowView)e.Item.DataItem只有在ItemDataBound这个事件中起效
  • 原文地址:https://www.cnblogs.com/missie/p/4364862.html
Copyright © 2011-2022 走看看