调整HetuEngine INSERT写入优化
HetuEngine向Hive数据源分区表写入数据时,需要根据实际业务的查询结果中分区列数量添加相关自定义配置,以获得最佳的性能效果。
调整HetuEngine INSERT写入步骤
- 使用HetuEngine管理员用户登录FusionInsight Manager页面,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
- 选择“配置 > 全部配置”,搜索“task.writer-count”(每个worker单一查询时writer的并行线程数),查看参数值是否为“1”,否则改为“1”。
- 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
- 单击“数据源”,在Hive数据源所在行的“操作”列下单击“编辑”,在页面内新增自定义配置, 参考表1调整自定义参数。
表1 INSERT语句性能调优参数 参数名称
值
hive.max-partitions-per-writers
大于或等于要写入数据的Hive数据源分区表所有分区列distinct的count值的乘积。
distinct的count值举例:
结果表“t2”有“col1”,“col2”和“col3”三列,查询结果数据如下所示:
col1 col2 col3
A 100 5
C 103 4
B 101 3
E 110 4
D 100 5
- 若“col3”为分区列,其distinct(去重)的count值为3,“hive.max-partitions-per-writers”的值建议大于或等于3。
- 若结果表有多个分区列,如“col2”和“col3”都是分区列,“col2”的distinct的count值为4,“col3”的distinct的count值为3,则“hive.max-partitions-per-writers”的值建议大于或等于12(distinct的count值乘积)。
- 单击“确定”完成配置。