次のようなハイブテーブルがあります
CREATE TABLE beacons
(
foo string,
bar string,
foonotbar string
)
COMMENT "Digest of daily beacons, by day"
PARTITIONED BY ( day string COMMENt "In YYYY-MM-DD format" );
移入するために、私は次のようなことをしています:
SET hive.exec.compress.output=True;
SET io.seqfile.compression.type=BLOCK;
INSERT OVERWRITE TABLE beacons PARTITION ( day = "2011-01-26" ) SELECT
someFunc(query, "foo") as foo,
someFunc(query, "bar") as bar,
otherFunc(query, "foo||bar") as foonotbar
)
FROM raw_logs
WHERE day = "2011-01-26";
これにより、個々の製品が deflate によって圧縮された新しいパーティションが作成されますが、ここでの理想は、代わりに LZO 圧縮コーデックを使用することです。
残念ながら、それを実現する方法は正確にはわかりませんが、多くの実行時設定の 1 つか、または CREATE TABLE DDL の単なる追加行であると思います。