簡體   English   中英

帶有不同存儲桶大小的Hive存儲桶映射

[英]Hive bucket map join with different bucket size

在蜂巢中,我可以對具有不同存儲桶大小(但在同一鍵上)的兩個表執行存儲桶映射聯接嗎? 有人可以在解釋中分享他們的想法嗎?

例如,表A由帶有48個存儲桶的col-1存儲,而表B由帶有64個存儲桶的col-1存儲。

注意:表A的存儲桶大小不能被表B的存儲桶大小整除。

提前致謝..!!

根據配置單元: 如果將要聯接的表存儲在聯接列上,並且一個表中的存儲桶數是另一表中存儲桶數的倍數,則這些存儲桶可以彼此連接。

說明:假設表A和表B需要連接。 A有2個存儲桶,B有4個存儲桶。 SELECT / * + MAPJOIN(b)* / a.key,a.value from JOIN b ON a.key = b.key

對於上面的查詢,A的映射器處理桶1將僅為B提取2個桶。但是,如果它們不是精確的倍數,則不可能獲得要提取的桶的確切數目。

因此,在您的情況下,除非一個表中的存儲桶數是另一表中的存儲桶數的倍數,否則它將不起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM