2個基本問題,那麻煩我:hive/hadoop如何確保每個映射器都能處理本地數據?
- 我怎麼能相信,每個32個文件蜂巢用它來存儲我的表坐在其獨特的機器?
- 如果發生這種情況,我怎麼能確定,如果配置單元創建32個映射器,它們中的每一個將在其本地數據上工作? hadoop/hdfs可以保證這種魔力,或者作爲一個智能應用程序來確保它會發生?
背景: 我有32臺機的蜂巢星團,以及:
- 我所有的表都與
"CLUSTERED BY(MY_KEY) INTO 32 BUCKETS"
- 創建我用
hive.enforce.bucketing = true;
- 我證實,確實每個表存儲作爲用戶/配置單元/倉庫中的32個文件
- 我使用的HDFS複製因子爲2
謝謝!
默認情況下,HDFS會將塊複製三次(同一節點和兩個其他節點,最好在另一個機架中)。 – cftarnas
好的,謝謝,根據你的回答,我改述並提出了一個更好地描述我的問題的新問題:http://stackoverflow.com/questions/6953383/is-a-collocated-join-a-la-netezza-theoretically - 可以在蜂巢中 – ihadanny
@SpikeGronim你能提供洞察這個Hadoop問題嗎? [是否可以限制MapReduce作業訪問遠程數據?](http://stackoverflow.com/q/31789176/320399) – blong