0

PigStorage() を使用して通常のテキスト ファイルから入力を取得する豚のスクリプトがあります。Hive メタストアからデータを読み込んで保存したいので、Hcatalog の HcatLoader() と HcatStorage() を使用しました。ピッグで圧縮ハイブデータを保存およびロードする方法を教えてください。

4

2 に答える 2

0

HCatalog の憲章の一部は、消費者がストレージの問題 (圧縮やフォーマットなど) を完全に認識しないようにすることです。基になるストレージが最初に圧縮解除され、後で圧縮される場合、圧縮されたデータを確実に読み取るためにスクリプトを書き直す必要はありません。

そうは言っても...圧縮サポートはHCatalogにまだ実装されていないと思います。 HCatalog ロードマップ- かなり前に書かれたものですが、想定される将来の機能には「圧縮」があります。

HCatalog の代わりに HiveStorage クラスを使用する必要があると思います。

免責事項: 私もこれについて完全に誤解している可能性がありますが、私が見つけたすべての証拠は、圧縮が HCatalog に実装されていないことを示唆しているようです。

于 2013-10-18T16:01:58.237 に答える
0

Pig は通常、gzip または bzip2 を使用して圧縮された場合、圧縮データを自動的にロードする方法を知っています。LZO の場合、クラスターで有効にする必要があります。

データを圧縮形式で保存するには、これをスクリプトに記述します。

SET mapred.output.compress true;
SET mapred.output.compression.codec org.apache.hadoop.io.compress.GzipCodec;

これにより、出力が gzip を使用して圧縮されます。

于 2013-10-15T16:56:19.140 に答える