一步一步理解Impala query profile(一)
很多
Impala
用户不知道如何阅读
Impala query profile
来了解一个查询背后正在执行的操作,从而在此基础上对查询进行调优以充分发挥查询的性能。因此我想写一篇简单的文章来分享我的经验,并希望它可以对希望了解更多信息的人有所帮助。
这是本系列的第1部分,我将介绍一些
Impala query profile
的基础知识和查看
Profile
时特别要注意的内容。
获取Impala query profile
首先,获取
Impala query profile
有两种方法,最简单的方法是在
impala-shell
中运行查询后执行
“PROFILE”
语句,如下所示:
[impala-daemon-host.com:21000] > SELECT COUNT(*) FROM sample_07;
Query: SELECT COUNT(*) FROM sample_07
Query submitted at: 2018-09-14 15:57:35 (Coordinator: https://impala-daemon-host.com:25000)
dQuery progress can be monitored at: https://impala-daemon-host.com:25000/query_plan?query_id=36433472787e1cab:29c30e7800000000
+----------+
| count(*) |
+----------+
| 823 |
+----------+
Fetched 1 row(s) in 6.68s
[impala-daemon-host.com:21000] > PROFILE; <-- Simply run "PROFILE" as a query
Query Runtime Profile:
Query (id=36433472787e1cab:29c30e7800000000):
Summary:
Session ID: 443110cc7292c92:6e3ff4d76f0c5aaf
Session Type: BEESWAX
.....
也可以在
CDH
的
Web
页面(
Cloudera Manager Web UI
)上点击
CM > Impala > Queries
,找到刚刚运行的查询,然后点击
Query Details
:
接着向下滚动找到
“Download Profile”
按钮:
你也可以到执行查询的
Impala Daemon
(
impalad
节点,该节点在
Impala
集群中为
coordinator
角色)节点的
Web
界面来下载
query profile
信息:
https://{impala-daemon-url}:25000/queries
该
Web
界面会展示出在当前
Impala Daemon
节点执行的
SQL
列表:
然后点击对应
SQL
后的
“Details”
链接转到
“Profile”
tab
页:
获取了
Profile
之后,接下来我们开始剖析
Profile
。
Profile解析
下面是
Query Profile
的一段文本,该段文本是
Profile
最上面的概要(
Summary
)部分:
Query (id=36433472787e1cab:29c30e7800000000):
Summary:
Session ID: 443110cc7292c92:6e3ff4d76f0c5aaf
Session Type: BEESWAX
Start Time: 2018-09-14 15:57:35.883111000
End Time: 2018-09-14 15:57:42.565042000
Query Type: QUERY
Query State: FINISHED
Query Status: OK
Impala Version: impalad version 2.11.0-cdh5.14.x RELEASE (build 50eddf4550faa6200f51e98413de785bf1bf0de1)
User: hive@VPC.CLOUDERA.COM
Connected User: hive@VPC.CLOUDERA.COM
Delegated User:
Network Address: ::ffff:172.26.26.117:58834
Default Db: default
Sql Statement: SELECT COUNT(*) FROM sample_07
Coordinator: impala-daemon-url.com:22000
Query Options (set by configuration):
Query Options (set by configuration and planner): MT_DOP=0