Hadoop分散ファイルシステム >

Hadoopアーカイブ(Hadoop Archives, HAR)

概要

  • 通常、小さなサイズのファイル群をHDFS上に格納することはあまり効率的ではありません。なぜなら、どんなに小さなファイルでも1ブロック(デフォルトで64MB)を消費しますし、また、ファイル数が多い場合には消費するブロック数も増えますので必然的に NameNode がメモリ上で管理するHDFSメタデータも増えることになります。
  • 以上のようなケースで、HDFSを効率的に使用する仕組みとして、Hadoopアーカイブ(HAR)があります。HAR は、格納されるファイル群を管理するメタデータファイルとデータファイルという少数のファイルで構成されますので、データ格納に必要なブロック数を最小限に抑えることが可能になります。

作成方法

  1. 例えば、 以下のような要領で Hadoopアーカイブを作成します。作成は、Map/Reduceフレームワークで処理されますので、元のファイルセットもHDFS上にある必要があります。
    $ hadoop archive -archiveName hadoop-0.20.1.har /user/hadoop/work/hadoop-0.20.1 /user/hadoop/work/
    ...
    $ hadoop fs -ls /user/hadoop/work
    Found 2 items
    drwxr-xr-x   - hadoop supergroup          0 2010-01-17 17:34 /user/hadoop/work/hadoop-0.20.1
    drwxr-xr-x   - hadoop supergroup          0 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har
  2. Hadoopアーカイブは1ファイルではなくファイルセットであり、以下のようなメタデータファイルとデータファイルで構成されます。現時点では、アーカイブにあたって未だ圧縮機能は実装されていないそうです。
    $ hadoop fs -ls /user/hadoop/work/hadoop-0.20.1.har
    Found 3 items
    -rw-r--r--  10 hadoop supergroup     696808 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/_index
    -rw-r--r--  10 hadoop supergroup        207 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/_masterindex
    -rw-r--r--   3 hadoop supergroup  124870605 2010-01-17 17:38 /user/hadoop/work/hadoop-0.20.1.har/part-0
  3. アーカイブの中身にアクセスする場合には、har:// スキームを使用します。アーカイブの中身は読取専用で、編集することはできません。
    $ hadoop fs -ls har:///user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1
    Found 21 items
    -rw-r--r--  10 hadoop supergroup     344093 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/CHANGES.txt
    -rw-r--r--  10 hadoop supergroup      13366 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/LICENSE.txt
    -rw-r--r--  10 hadoop supergroup        101 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/NOTICE.txt
    -rw-r--r--  10 hadoop supergroup       1366 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/README.txt
    drw-r--r--   - hadoop supergroup          0 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/bin
    -rw-r--r--  10 hadoop supergroup      73314 2010-01-17 17:39 /user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/build.xml
    ...
    $ hadoop fs -cat har:///user/hadoop/work/hadoop-0.20.1.har/user/hadoop/work/hadoop-0.20.1/README.txt
    For the latest information about Hadoop, please visit our website at:
    
       http://hadoop.apache.org/core/
    
    and our wiki, at:
    
       http://wiki.apache.org/hadoop/
    
    This distribution includes cryptographic software.  The country in
    ...

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-18 (月) 21:10:25 (4335d)