ページの先頭行へ戻る
Interstage Big Data Parallel Processing Server V1.2.0 ユーザーズガイド
FUJITSU Software

17.2.3 データの圧縮

Hadoopは、以下のファイルを圧縮することができます。

これらのファイルを圧縮することでDFSやMapReduce作業領域のディスク容量を節約したり、入出力量を削減することで入出力負荷を低減したりすることができます。一方で圧縮によりCPU負荷は増加しますので、Hadoopジョブの処理特性により圧縮の有無を選択します。

DFS上のファイルの圧縮

DFS上のファイルを圧縮する方法には以下の二つがあります。P-DFSの機能による圧縮を推奨します。

P-DFSの機能による圧縮はファイルシステム内部で圧縮・伸張を行っており、利用者やアプリケーションから圧縮ファイル・非圧縮ファイルを意識することなく扱うことができます。また、圧縮ファイルをHadoopジョブの入力にした場合でも分散処理を行うことができます。

参照

P-DFSの機能による圧縮の詳細は、「Primesoft Distributed File System for Hadoop V1 ユーザーズガイド」を参照してください。

圧縮機能の利用方法については、「10.1 入出力データの準備」を参照してください。


一方、Hadoopの機能による圧縮はソフトウェアにより圧縮・伸張を行っているため、利用者やアプリケーションは圧縮ファイルであることを意識する必要があります。たとえばHadoopジョブの処理結果を圧縮ファイルとして出力した場合、以降そのファイルを参照するアプリケーション等で伸長処理が必要です。また、後述する圧縮コーデックによっては圧縮ファイルをHadoopジョブの入力にした場合に効率的な分散処理が行えず、1つの圧縮ファイルが1つプロセスで実行されることがあります。


Hadoopの機能による圧縮は、以下のプロパティで指定します。

作業ファイルの圧縮

作業ファイルの圧縮は、ソフトウェアにより圧縮・伸張を行っています。DFS上のファイルの圧縮と異なりHadoopが内部的に圧縮・伸長を行うため、利用者やアプリケーションから意識する必要はありません。


作業ファイルを圧縮の有無は、以下のプロパティで指定します。

圧縮アルゴリズム

P-DFSの機能による圧縮は、Red Hat(R) Enterprise Linux(R)に標準で搭載されDEFLATEアルゴリズムを使用したzlib形式により圧縮・伸長を行います。


ソフトウェアによる圧縮では、圧縮アルゴリズムを複数の圧縮コーデックから選択することができます。

圧縮コーデックは、以下のプロパティで指定します。