2014-02-10 95 views
1

我正嘗試在我的星型模式中使用桶映射加入進行查詢。 我有一些小尺寸表和一個大事實表。 我想:沒有分區的Hive Bucketing?

  • 鬥由其FK鍵的事實表
  • 桶尺寸按ID鍵

但是,如果我嘗試鬥一表,而我可以在任意分區插入數據後只能看到表文件夾中的1個文件(num_files:1)。

CREATE TABLE user_dimension (
id STRING, 
... 
name STRING) 
CLUSTERED BY (id) INTO 24 BUCKETS; 

>> OK 

INSERT INTO TABLE user_dimension 
SELECT id, name 
FROM datasource; 

>> Table user_dimension stats: [num_partitions: 0, num_files: 1, num_rows: 478, total_size: 36497, raw_data_size: 36019] 

回答

2

當瓢潑大雨數據,請確保您設置

hive.enforce.bucketing=true; 

插入數據之前。

(如果您的尺寸表非常小,您可能只需使用常規貼圖連接即可,而不需要bucketing。當您需要連接2個大型表格時,Bucketing是適當的。)