鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

执行openLooKeng引擎业务

openLooKeng使用命令行接口CLI来执行SQL任务,需要注意的是OmniOperator JIT是否生效要从webUI的Stage Performance中看,如果算子是以OmniOperator结尾的则说明OmniOperator JIT生效。

本次任务示例使用tpcds-sf10的数据表作为测试表,测试SQL为TPC-DS测试集的Q82。

相关的表信息如表1所示。

表1 相关表信息

表名

表格式

总行数

item

orc

102000

inventory

orc

133110000

date_dim

orc

73049

store_sales

orc

28800991

具体步骤如下。

  1. 在openLooKeng的webUI中运行以下SQL语句。

    在webUI界面选择Catlog为tpcds,Schema为sf10,如webUI界面选择

    图1 webUI界面选择
    • OmniOperator JIT
      set session extension_execution_planner_enabled=true;
      select  i_item_id
          ,i_item_desc
          ,i_current_price
      from item, inventory, date_dim, store_sales
      where i_current_price between 76 and 76+30
      and inv_item_sk = i_item_sk
      and d_date_sk=inv_date_sk
      and d_date between cast('1998-06-29' as date) and cast('1998-08-29' as date)
      and i_manufact_id in (512,409,677,16)
      and inv_quantity_on_hand between 100 and 500
      and ss_item_sk = i_item_sk
      group by i_item_id,i_item_desc,i_current_price
      order by i_item_id
      limit 100;
    • 原生
      select  i_item_id
          ,i_item_desc
          ,i_current_price
      from item, inventory, date_dim, store_sales
      where i_current_price between 76 and 76+30
      and inv_item_sk = i_item_sk
      and d_date_sk=inv_date_sk
      and d_date between cast('1998-06-29' as date) and cast('1998-08-29' as date)
      and i_manufact_id in (512,409,677,16)
      and inv_quantity_on_hand between 100 and 500
      and ss_item_sk = i_item_sk
      group by i_item_id,i_item_desc,i_current_price
      order by i_item_id
      limit 100;
  2. 结果对比。

    从Live Plan中可以查看语句的执行计划,从Stage Performance查看算子的具体执行流程,这里以Stage0为例,如图2图3所示,当算子是以OmniOperator结尾则说明OmniOperator JIT生效(具体方法为当SQL语句执行成功之后会出现FINISHED,点击进入后,选择Stage Performance,就可以查看各个Stage)。

    • OmniOperator JIT
    图2 OmniOperator JIT运行结果及Stage0

    • 原生
    图3 原生运行结果及Stage0