CarbonData首查优化工具
工具介绍
CarbonData的首次查询较慢,对于实时性要求较高的节点可能会造成一定的时延。
本工具主要提供以下功能:
- 对查询时延要求较高的表进行首次查询预热。
工具使用
- 安装Spark客户端。
详细操作请参考安装MRS客户端。
- 使用客户端安装用户,登录Spark客户端节点。
- 进入目录“{客户端安装目录}/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语句,不同语句冒号隔开。
spark.prequery.sql配置的语句在每个所预热的表中都会执行,表名用%s代替。
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;
脚本使用
命令形式:sh start-prequery.sh
执行此条命令需要:将user.keytab或jaas.conf(二选一),krb5.conf(必须)放入conf目录中。
- 此工具暂时只支持Carbon表。
- 此工具会初始化Carbon环境和预读取表的元数据到JDBCServer,所以更适合在多主实例、静态分配模式下使用。