Trafodion CQD-hbase_coprocessors

本文介绍了Trafodion中CQD hbase_coprocessors的功能,该配置项用于控制SQL聚合操作是否利用HBase的协处理器。通过对比开启与关闭状态下的执行计划及性能差异,揭示了不同场景下选择合适执行方式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文介绍Trafodion的CQD之hbase_coprocessors,关于此CQD的详细,请参考官方文档:http://trafodion.incubator.apache.org/docs/cqd_reference/index.html#hbase-coprocessors

介绍

在Trafodion中的一些SQL查询如aggregation时可以使用两种方法执行:1 使用trafodion processes;2下推到HBase层使用HBase自身的coprocessors。
这个cqd默认值为’on’,目前只有count(*)时才会默认以hbase coprocessors的方式执行,通过查看执行计划可以看出,

>>explain options 'f' select count(*) from test_tbl;

LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
---- ---- ---- --------------------  --------  --------------------  ---------

1    .    2    root                                                  1.00E+000
.    .    1    hbase_aggr                                            1.00E+000

--- SQL operation complete.

如果不希望使用hbase coprocessors执行aggregation,可以通过此cqd关闭,

>>cqd hbase_coprocessors 'off';

--- SQL operation complete.
>>explain options 'f' select count(*) from test_tbl;

LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
---- ---- ---- --------------------  --------  --------------------  ---------

4    .    5    root                                                  1.00E+000
3    .    4    sort_partial_aggr_ro                                  1.00E+000
2    .    3    esp_exchange                    1:6(hash2)            1.49E+007
1    .    2    sort_partial_aggr_le                                  1.49E+007
.    .    1    trafodion_scan                  TEST_TBL              2.99E+007

--- SQL operation complete.
>>cqd parallel_num_esps '12';

--- SQL operation complete.
>>explain options 'f' select count(*) from test_tbl;

LC   RC   OP   OPERATOR              OPT       DESCRIPTION           CARD
---- ---- ---- --------------------  --------  --------------------  ---------

4    .    5    root                                                  1.00E+000
3    .    4    sort_partial_aggr_ro                                  1.00E+000
2    .    3    esp_exchange                    1:12(hash2)           1.49E+007
1    .    2    sort_partial_aggr_le                                  1.49E+007
.    .    1    trafodion_scan                  TEST_TBL              2.99E+007

--- SQL operation complete.

根据以上结果,不难发现,若使用hbase自身的coprocessor,无法指定后台使用多少进程来做table scan,而如果不使用hbase coprocessor机制,可以根据表的分区数决定dop的大小。
不过,关于是否使用hbase coprocessors,这个要根据具体情况而定,使用hbase coprocessor或不使用在性能上也会不同。就本测试而言,对一个30million的表做count(*),使用hbase coprocessors性能更优。

//use hbase coprocessor
SQL>select count(*) from test_tbl;

(EXPR)
--------------------
            30000000

--- 1 row(s) selected.


Start Time             2017/07/03 13:58:14.200917
End Time               2017/07/03 13:58:22.961245
Elapsed Time                      00:00:08.760328
Compile Time                      00:00:00.016055
Execution Time                    00:00:08.743943


Table Name             Records        Records      Hdfs       Hdfs I/O    Hdfs Access
                      Accessed           Used      I/Os          Bytes     Time(usec)
TRAFODION.PKSAAS.TEST_TBL
                             0              0         1              0        8741532

>>cqd hbase_coprocessors 'off';

--- SQL operation complete.

//no hbase coprocessor                           
>>select count(*) from test_tbl;

(EXPR)
--------------------

            30000000

--- 1 row(s) selected.

Start Time             2017/07/03 13:56:54.214082
End Time               2017/07/03 13:57:22.712163
Elapsed Time                      00:00:28.498081
Compile Time                      00:00:00.027952
Execution Time                    00:00:28.470000


Table Name             Records        Records      Hdfs       Hdfs I/O    Hdfs Access
                      Accessed           Used      I/Os          Bytes     Time(usec)
TRAFODION.PKSAAS.TEST_TBL
                      30000000       30000000     29316     7527968500      170433994

--- SQL operation complete.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据源的港湾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值