更新时间:2024-10-28 GMT+08:00

调整HetuEngine INSERT写入优化

HetuEngine向Hive数据源分区表写入数据时,需要根据实际业务的查询结果中分区列数量添加相关自定义配置,以获得最佳的性能效果。

调整HetuEngine INSERT写入步骤

  1. 使用HetuEngine管理员用户登录FusionInsight Manager页面,选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
  2. 选择“配置 > 全部配置”,搜索“task.writer-count”(每个worker单一查询时writer的并行线程数),查看参数值是否为“1”,否则改为“1”。
  3. 在“概览”页签下的“基本信息”区域,单击“HSConsole WebUI”后的链接,进入HSConsole界面。
  4. 单击“数据源”,在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值乘积)。

  5. 单击“确定”完成配置。