impala查询执行顺序

vsdwdz23  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(469)

我运行了impala查询的“explain”,得到了以下结果。我试图理解:执行命令是自下而上的吗?如果不是执行顺序,那么数字是什么意思?谢谢!

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
dwthyt8l

dwthyt8l1#

这些数字只是计划员使用的plannodeid。执行顺序在逻辑上是自底向上的,但在运行时,整个计划树被分解为多个计划片段,这些片段由一个协调器并发执行,并且希望是分布式执行。您可以参考impala的配置文件网页,默认情况下,该网页监听端口25000以查看动态执行过程。 set explain_level=3; 得到完整的计划结果。

相关问题