2016-06-29 65 views
2

下面是我試圖在執行引擎上使用tez在Hive上運行的查詢。在Tez上運行無限時間的Hive查詢

SELECT A.CITY, A.NAME, B.PRICE 
    ,(ROW_NUMBER() OVER (PARTITION BY A.NAME ORDER BY B.PRICE)) AS RNUM 
    FROM TABLE1 A 
    LEFT JOIN TABLE2 B 
    ON A.NAME = B.NAME 
    WHERE (A.COLUMN2 >= B.COLUMN3 AND A.COLUMN2 < B.COLUMN4) 
GROUP BY A.CITY, A.NAME, B.PRICE; 
  • 當我上面我在蜂房數據查詢運行它一直沒有任何結果幾個小時 運行,但語法上面的查詢是正確的。
  • TABLEA和TABLEB都有數百萬條記錄。

我試着改變數據格式,增加容器大小,改變reducer數量和改變堆大小。無論我更改查詢的參數都被卡住了。

在我的進一步調查中,我注意到where條件和窗口函數導致查詢無限運行。

這裏是我的問題:

  • 是什麼,這將使運行端對端巨大 數據查詢的變化?

感謝您的幫助

回答