---
title: 大数据计算引擎参数
description: "Flink有standalone、yarn两种运行模式，当前测试场景以yarn模式为基准。需注意，不同运行模式在资源管理、任务调度策略及并发控制机制上存在差异，因此其性能表现也可能有所不同。在实际生产环境中，应根据业务需求和集群管理策略选择合适的运行模式，并结合对应模式的调优实践进行性能优化。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0198.html
sourcePath: /source/zh/kunpengdevps/profiler/tuning/KunpengDevKitCli_0198.html
indexId: 5e11f283497ada79e5f90fd0cc2b4bb55251df5458b50fe0e89bd761ddaf9bbf66
---
# 大数据计算引擎参数

#### Flink

Flink有standalone、yarn两种运行模式，当前测试场景以yarn模式为基准。需注意，不同运行模式在资源管理、任务调度策略及并发控制机制上存在差异，因此其性能表现也可能有所不同。在实际生产环境中，应根据业务需求和集群管理策略选择合适的运行模式，并结合对应模式的调优实践进行性能优化。


**表1 Flink业务参数**

| 推荐参数 | 推荐参数 | 推荐参数 | 调优分析 | 调优分析 | 调优分析 | 调优分析 |
| --- | --- | --- | --- | --- | --- | --- |
| 参数名称 | 参数含义 | 调整范围 | Testing Case | 重要性比率（%） | 参考最优值（vs. Baseline） | 参考最优值（vs. Baseline） |
| state.backend.rocksdb.block.cache\-size | 控制RocksDB数据块缓存大小 | [2, 512] | Latency | 10.8% | 227 | （+3.2%） |
| execution.checkpointing.interval | Flink作业状态checkpoint的触发周期 | [10, 600000] | Latency | 6.4% | 489870 | （+3.2%） |
| taskmanager.network.request\-backoff.max | TaskManager网络请求失败后的最大重试间隔时间 | [1000, 20000] | Latency | 6.1% | 15256 | （+3.2%） |


#### Hive

- 业务参数
  建议在Hive启动配置中，将hive.auto.convert.join.noconditionaltask.size参数设置为相对较大的值，同时将tez.grouping.min-size参数设置为相对较小的值，以优化任务拆分与执行效率。对于hive.stats.fetch.column.stats参数，需根据具体业务场景和测试用例表现进行选择性配置。该参数在不同测试用例下的表现存在差异。

**表2 Hive业务参数**

| 推荐参数 | 推荐参数 | 推荐参数 | 调优分析 | 调优分析 | 调优分析 | 调优分析 | 调优分析 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 参数名称 | 参数含义 | 调整范围 | 重要性比率（%） | 参考最优值（vs. Baseline） | 参考最优值（vs. Baseline） | 参考最劣值（vs. Baseline） | 参考最劣值（vs. Baseline） |
| tez.grouping.min\-size | Tez任务处理的最小输入数据量 | {8000000, 16000000,32000000, 64000000,128000000, 256000000,512000000, 768000000,1024000000, 2048000000} | 33.1% | 16000000 | （+30.8%） | 768000000 | （\-57.9%） |
| hive.auto.convert.join.noconditionaltask.size | 自动广播的小表总大小阈值 | {0, 10000000, 50000000,100000000, 250000000,500000000, 750000000,1000000000} | 30.8% | 1000000000 | （+30.8%） | 0 | （\-57.9%） |
| hive.stats.fetch.column.stats | 从Metastore获取列级统计信息 | {true, false} | 24.9% | \- | \- | \- | \- |


- 系统参数
**表3 Hive系统参数**

| 推荐参数 | 推荐参数 | 调优分析 | 调优分析 | 调优分析 |
| --- | --- | --- | --- | --- |
| 参数名称 | 调整范围 | 重要性比率（%） | 测试环境默认值 | 参考最优值（vs. Baseline） |
| transparent\_hugepage\_mode | {madvise, never, always} | 47.1% | never | always（+11.9%） |


#### Spark

Spark集群有yarn、standalone两种部署模式，当前测试场景以yarn部署模式为基准。

- 业务参数
  在Spark启动配置中，建议将spark.executor.instances和spark.sql.shuffle.partitions设置为相对较大的值，以提升并行度和任务调度效率。其他参数的推荐配置可参考表4进行调整。

**表4 Spark业务参数**

| 推荐参数 | 推荐参数 | 推荐参数 | 调优分析 | 调优分析 | 调优分析 | 调优分析 | 调优分析 |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 参数名称 | 参数含义 | 调整范围 | 重要性比率（%） | 参考最优值（vs. Baseline） | 参考最优值（vs. Baseline） | 参考最劣值（vs. Baseline） | 参考最劣值（vs. Baseline） |
| spark.executor.instances | 执行任务的工作进程Executor数量 | [2, 48] | 29.6% | 45 | （+28.7%） | 2 | （\-3.5%） |
| spark.sql.adaptive.enabled | 自适应查询执行使能 | {true, false} | 20.0% | false | （+28.7%） | true | （\-3.5%） |
| spark.sql.shuffle.partitions | Spark SQL Shuffle操作生成的分区数量 | [100, 1000] | 17.0% | 775 | （+28.7%） | 259 | （\-3.5%） |
| spark.sql.autoBroadcastJoinThreshold | Spark SQL中自动广播小表的大小上限 | {0, 10485760, 52428800,104857600, 209715200,314572800, 524288000,1048576000} | 14.7% | 0 | （+28.7%） | 1048576000 | （\-3.5%） |
| spark.executor.memory | 每个Spark Executor进程可用的内存大小 | [2, 32] | 8.6% | 4 | （+28.7%） | 30 | （\-3.5%） |
| spark.default.parallelism | RDD中的默认分区数 | [200, 1600] | 7.1% | 1455 | （+28.7%） | 200 | （\-3.5%） |


- 系统参数
**表5 Spark系统参数**

| 推荐参数 | 推荐参数 | 调优分析 | 调优分析 | 调优分析 |
| --- | --- | --- | --- | --- |
| 参数名称 | 调整范围 | 重要性比率（%） | 测试环境默认值 | 参考最优值（vs. Baseline） |
| transparent\_hugepage\_mode | {madvise, never, always} | 20.5% | never | always（+4.2%） |
