Redshift/MySql に相当するものに変換する必要がある Hive テーブルに遭遇しました。Hive クエリ構造を理解するのに苦労しています。助けていただければ幸いです。
CREATE TABLE IF NOT EXISTS table_1 (
id BIGINT,
price DOUBLE,
asset string
)
PARTITIONED BY (
pt STRING
);
ALTER TABLE table_1 DROP IF EXISTS PARTITION (pt== '${yyyymmdd}');
INSERT OVERWRITE TABLE table_1 PARTITION (pt= '${yyyymmdd}')
select aa.id,aa.price,aa.symbol from
...
...
from
table_2 table
PARTITIONED BY 句を理解できません。私の理解が正しければ、これは MySQL テーブル パーティションとは異なり、Hive 固有の動的パーティションです。パーティションは列またはキーを定義せず、現在の日付でパーティション化します。
これは、table_1 が日付で分割されていることを意味しますか? 毎日別のパーティションがありますか。
その後、コードの後半には、次のような表記があります
inner join table_new table on table.pt = '${yyyymmdd}' and ...
このコンテキストでは、挿入された行だけyyyymmdd
が結合のために選択されるということですか?
ありがとうございました。