多くのセンサー データを格納するために HBase を使用しています。
txt ファイルを使用してセンサー データを保存しようとしましたが、20MB のファイルを圧縮すると、ディスク上で 1MB に縮小されます。
私の質問は、データをディスクに保存するときに、HBase 自体が自動的に圧縮を行うのでしょうか?
ありがとう
hbase 圧縮には、lzo、gzip、または snappy を使用できます。hbase 圧縮に使用する場合は、lzo/snappy を自分で設定する必要があります (gzip が含まれています)。
通常 - lzo は gzip 圧縮よりも高速ですが、gzip 圧縮率は通常より優れています。Snappy は圧縮に対して堅牢ですが、通常、圧縮率は低くなります。
テーブルを作成するとき - 圧縮/圧縮ライブラリを指定できます - 圧縮が使用されている場合、hfiles はディスクに書き込まれるときに圧縮されます (読み取り時に解凍する必要があります)。
それが役に立てば幸い
テーブルを変更して、後で圧縮サポートを追加することもできます。次に、データは次の圧縮で実際に圧縮されます(aliが言ったように、新しいHFileがディスクに書き込まれるため)。私の知る限り、圧縮アルゴリズムは HFile 全体ではなく、ブロック レベルで使用されます。つまり、データを読み取るときに、数 GB の HFile を解凍する必要はなく、数 KB のデータ ブロックのみを解凍する必要があります。