2016-11-07 265 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;让你完整的零碎计划结果。