CarbonData首查优化工具
工具介绍
CarbonData 的首次查询较慢,对于实时性要求较高的节点可能会造成一定的时延。
本工具主要提供以下功能:
- 对查询时延要求较高的表进行首次查询预热。
工具使用
下载安装客户端,例如安装目录为“/opt/client”。进入 目录“/opt/client/Spark/spark/bin”, 执行start-prequery.sh。
参考表1,配置prequeryParams.properties。
参数 |
说明 |
示例 |
---|---|---|
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,所以更适合在多主实例、静态分配模式下使用。