栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hive 安全模式下 Prepare Plan 的时间分析

Hive 安全模式下 Prepare Plan 的时间分析

用 Tez 执行引擎执行 hive sql 语句,打印每个步骤的执行时间。

----------------------------------------------------------------------------------------------
OPERATION                            DURATION
----------------------------------------------------------------------------------------------
Compile Query                           8.55s
Prepare Plan                            0.96s
Get Query Coordinator (AM)              0.02s
Submit Plan                             0.43s
Start DAG                               0.98s
Run DAG                                19.80s

原因是,启动 hive cli,有一个后台线程执行 tez session 的创建工作。如果执行的时候,没有准备好,需要一直等待。

同步方式

hive 执行的时候加上--hiveconf hive.cli.tez.session.async=false参数可以看到 Prepare Plan 的时间大大降低。
或者修改 hive-site.xml


    hive.cli.tez.session.async
    false
    
      Whether to start Tez
      session in background when running CLI with Tez, allowing CLI to be available earlier.
    
  

设置 hive.cli.tez.session.async=false 后,可以看到从执行 hive 命令,到可以输入 sql 的时间延长了。

在启用安全模式下,Prepare Plan 的时间主要有以下几个部分。

  1. 初始化 FileSystem,即创建和 Namenode 的连接。2 秒,最长 6 秒。(执行 time hadoop fs -ls / 在启动kerberos 和 不启动kerberos 的集群相差 2.3 秒)
  2. 创建 session 对应的目录。hdfs scrach dir, local saratch dir, download resources dir, hdfs session path, local session path, hdfs temp table space, tmpErrorOutputFile deng
  3. 长传本地的各种jar文件,hive-aux jar 文件等。1秒
  4. 用 mr 的 config 配置 tez config, stripHiddenConfigurations。需要把所有的参数过滤一遍。
  5. 创建和 RM 的连接,和创建和 Namenode 的连接一样。2 秒。有一次 4 秒
  6. 创建 Application,上传 application master 。
  7. 上传 dag 的 conf 文件。(hive 不退出连续执行 SQL 仅需要此步)。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/604604.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号