2
我的配置單元查詢掛起,我不知道爲什麼(使用hadoop 0.20.1,配置單元0.9)。緩慢配置單元查詢,爲什麼(左半連接)?
查詢:
SELECT
a.field1 FROM table_1 a
LEFT SEMI JOIN
(SELECT DISTINCT(usrId) FROM table_2 b
WHERE soemthing=true ORDER BY rand() limit 1000) random_user_ids
WHERE a.usrId=random_user_ids.usrId
EXPLAIN給我回:
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
Stage-3 depends on stages: Stage-2
Stage-0 is a root stage
數據集內表
- 〜200M項
- table_1.usrId的關係TABLE_1應該是大約1:40,即1000 * 40 = 40000應該以上述查詢返回ÿ
觀察:
- 工作在最終階段-3掛起,在33%(減小>排序),其中在接合時發生(加入的結果是約40000)
- 除了是慢爲什麼減少>排序的一部分階段-3?它應該只加入東西,而不是訂購任何東西
- 減速機尺寸只有1(因爲排序?),它幾乎總是很糟糕,因爲它不能縮放。
如果您需要更多輸入(例如更詳細的EXPLAIN信息,更多集羣信息),請告訴。
謝謝!
AARGH,即取得的招接通。仍然與'在哪裏'一個神祕的爲什麼減少操作員排序在Stage-3,沒有看到它與解釋計劃。 –