4

多くのセンサー データを格納するために HBase を使用しています。

txt ファイルを使用してセンサー データを保存しようとしましたが、20MB のファイルを圧縮すると、ディスク上で 1MB に縮小されます。

私の質問は、データをディスクに保存するときに、HBase 自体が自動的に圧縮を行うのでしょうか?

ありがとう

4

2 に答える 2

2

hbase 圧縮には、lzo、gzip、または snappy を使用できます。hbase 圧縮に使用する場合は、lzo/snappy を自分で設定する必要があります (gzip が含まれています)。

通常 - lzo は gzip 圧縮よりも高速ですが、gzip 圧縮率は通常より優れています。Snappy は圧縮に対して堅牢ですが、通常、圧縮率は低くなります。

テーブルを作成するとき - 圧縮/圧縮ライブラリを指定できます - 圧縮が使用されている場合、hfiles はディスクに書き込まれるときに圧縮されます (読み取り時に解凍する必要があります)。

それが役に立てば幸い

于 2012-08-22T01:25:38.113 に答える
1

テーブルを変更して、後で圧縮サポートを追加することもできます。次に、データは次の圧縮で実際に圧縮されます(aliが言ったように、新しいHFileがディスクに書き込まれるため)。私の知る限り、圧縮アルゴリズムは HFile 全体ではなく、ブロック レベルで使用されます。つまり、データを読み取るときに、数 GB の HFile を解凍する必要はなく、数 KB のデータ ブロックのみを解凍する必要があります。

于 2012-08-24T06:15:09.010 に答える