次のように、バケットをクラスタ化して並べ替えたテーブルを作成しました。
set hive.enforce.bucketing = true;
set mapred.reduce.tasks = 32;
create table my_table
(
a string
, b string
, c int
)
clustered by (a, b) sorted by (a, b) into 32 buckets
row FORMAT delimited fields TERMINATED BY ','
stored AS parquet
tblproperties ('parquet.compress'='SNAPPY');
データは次のように挿入されました。
insert into table my_table select * from old_table;
クエリを実行すると:
select * from my_table limit 100;
ソートされていない結果が得られます。テーブルがソートされていないということですか?a
このテーブルを他のテーブルと結合する場合、このテーブルのソートマージ結合は機能しますb
か?
BDW: old_table (含まれている distribute by および sort by への挿入) を次のように照会すると: ソートされたselect * from old_table limit 100;
結果が得られます。