zoukankan      html  css  js  c++  java
  • HDFS小文件处理

    请先查看一叶舟的介绍 : https://blog.csdn.net/zyd94857/article/details/79946773

    小文件处理有两个方向:

    1. 适用于文档存储方法:HAR File
      • 优点:
        一.易操作,小文件归档 --hadoop archive -archiveName harFileName.har -p /neetArchiveFilesPath /ArchiveFileStorePath
        二.可直接从hdfs查看 -- hdfs dfs -cat /ArchiveFileStorePath/harFileName.har/part-0~100+(从0开始加一)
      • 缺点:
        一.访问一个指定的小文件需要访问两层索引文件才能获取小文件在HAR文件中的存储位置,因此,访问一个HAR文件的效率可能会比直接访问HDFS文件要低
        二.创建的har文件跟源文件大小一致,且无法压缩
        三.创建后无法对har文件进行修改
    2. 流动文件处理:Sequence Files
      • 优点:
        一.解决HDFS过多小文件导致mapreduce消耗性能问题
        二.支持压缩,占用空间更小
      • 缺点:
        一.SequenceFile 文件不能追加写入,适用于一次性写入大量小文件的操作
        二.在hdfs上将表中的数据以二进制格式编码,并且将数据压缩了,下载数据以后是二进制格式,不可以直接查看,
        需在hive中查看或者通过java类org.apache.hadoop.io.SequenceFile进行读写操作;下面是创建hive表结构中有
         stored as sequecefile
         或者显示指定:
         STORED AS INPUTFORMAT 
        

    'org.apache.hadoop.mapred.SequenceFileInputFormat' 
    OUTPUTFORMAT 
    'org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat'
    ```
    三.访问只能从文件头开始访问

    以上生成文件块大小皆可通过hdfs属性dfs.blocksize设置,默认128M
    其中sequence还可以通过io.seqfile.compress.blocksize设置

  • 相关阅读:
    18周个人总结
    十六周个人总结
    排球积分规则程序
    十四周软件工程总结
    本周总结
    排球积分规则
    我的计算机生涯
    排球比赛记分员
    《怎样成为一个高手》观后感
    冲刺作业
  • 原文地址:https://www.cnblogs.com/zzw-847776943/p/12461308.html
Copyright © 2011-2022 走看看