2016-11-07 136 views
0

我運行了我的Impala查詢的「解釋」並獲得了以下結果。我試圖理解它:執行順序是自下而上嗎?那麼,如果數字不是執行順序,那麼數字的意思是什麼?謝謝!Impala查詢執行順序

Estimated Per-Host Requirements: Memory=2.08GB VCores=2 
    WARNING: The following tables are missing relevant table and/or column statistics. 
    my_db.v1, my_db.v2 

    10:EXCHANGE [UNPARTITIONED] 
    | 
    06:ANALYTIC 
    | functions: last_value(my_v_id), last_value(my__arrival_ts), last_value(version) 
    | partition by: id, trunc(my__arrival_ts, 'D') 
    | order by: my__arrival_ts ASC 
    | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW 
    | 
    05:SORT 
    | order by: id ASC NULLS FIRST, trunc(my__arrival_ts, 'D') ASC NULLS FIRST, my__arrival_ts ASC 
    | 
    09:EXCHANGE [HASH(id,trunc(my__arrival_ts, 'D'))] 
    | 
    04:ANALYTIC 
    | functions: last_value(build) 
    | partition by: version 
    | order by: my__arrival_day ASC 
    | window: RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW 
    | 
    03:SORT 
    | order by: version ASC NULLS FIRST, my__arrival_day ASC 
    | 
    08:EXCHANGE [HASH(version)] 
    | 
    02:HASH JOIN [INNER JOIN, BROADCAST] 
    | hash predicates: v1__fk = v1.id 
    | runtime filters: RF000 <- v1.id 
    | 
    |--07:EXCHANGE [BROADCAST] 
    | | 
    | 00:SCAN HDFS [my_db.v1] 
    |  partitions=1791/2994 files=1956 size=125.30MB 
    |  predicates: my__is_external 
    | 
    01:SCAN HDFS [my_db.vm] 
     partitions=2058/2058 files=2094 size=9.98GB 
     runtime filters: RF000 -> v1__fk 

回答

0

數字數字只是PlannodeId由計劃者使用。執行順序在邏輯上自下而上,但在運行時,整個計劃樹被分解爲多個計劃片段,這些片段同時執行並希望由一個協調器分配。您可以參考impala的配置文件網頁,默認監聽端口25000以查看動態執行過程。

set explain_level=3;讓你完整的零碎計劃結果。