更新时间:2022-12-14 GMT+08:00

CarbonData首查优化工具

工具介绍

CarbonData 的首次查询较慢,对于实时性要求较高的节点可能会造成一定的时延。

本工具主要提供以下功能:

  • 对查询时延要求较高的表进行首次查询预热。

工具使用

下载安装客户端,例如安装目录为“/opt/client”。进入 目录“/opt/client/Spark2x/spark/bin”, 执行start-prequery.sh

参考表1,配置prequeryParams.properties。

表1 参数列表

参数

说明

示例

spark.prequery.period.max.minute

预热的最大时长,单位分钟

60

spark.prequery.tables

表名配置database.table:int,表名支持通配符*,int代表预热多长时间内有更新的表,单位为天。

default.test*:10

spark.prequery.maxThreads

预热时并发的最大线程数

50

spark.prequery.sslEnable

集群安全模式为true,非安全模式为false

true

spark.prequery.driver

JDBCServer的地址ip:port,如需要预热多个Server则需填写多个Server的IP,多个IP:port用逗号隔开。

192.168.0.2:22550

spark.prequery.sql

预热的sql语句,不同语句冒号隔开

SELECT COUNT(*) FROM %s;SELECT * FROM %s LIMIT 1

spark.security.url

安全模式下jdbc所需url

;saslQop=auth-conf;auth=KERBEROS;principal=spark2x/hadoop.hadoop.com@HADOOP.COM;

spark.prequery.sql 配置的语句在每个所预热的表中都会执行,表名用%s代替。

脚本使用

命令形式:sh start-prequery.sh

执行此条命令需要:将user.keytab或jaas.conf(二选一),krb5.conf(必须)放入conf目录中。

  • 此工具暂时只支持Carbon表。
  • 此工具会初始化Carbon环境和预读取表的元数据到JDBCServer,所以更适合在多主实例、静态分配模式下使用。