以下为部分高级参数说明:
名称 | 可选值 | 默认 | 说明 | 使用范围 |
自动设置运行时配置 | true/false | true |
| 通用 |
全局flush间隔(秒) | 5~1000的整数 | 60 | 定义了全部写入线程将缓存数据批量推送到目标端,并推进同步位点(offset)的频率。
建议:对延迟不敏感的大数据量同步场景可适当增大此值;对实时性要求高的场景应减小此值。 | 通用 |
failover重启策略的时间窗口(分钟) | 1~60的整数 | 30 | 当同步任务遇到可恢复异常时,系统会根据 “failover 重启策略的时间窗口(分钟)” 内发生的异常次数是否超过预设阈值,判断是否自动触发重启:
该参数定义了异常统计的时间范围。时间窗口越小,表示系统对异常频率的容忍度越高(即短时间内多次异常也允许重启),有助于应对偶发性抖动。 重要 但若设置过小,可能导致任务在遭遇持续不可恢复异常时仍频繁重启,造成资源浪费,甚至延迟故障发现与人工干预时机。 | 通用 |
failover重启策略的失败次数阈值 | 1~100的整数 | 3 | 在“failover重启策略的时间窗口”内,允许任务自动重启的最大次数。
建议:通常建议设置为一个较小的值,以在容错和快速发现问题之间取得平衡。 | 通用 |
分区缓存队列大小 | 5~100的整数 | 5 | 写入 MaxCompute 非 Delta 分区表时,数据按分区进行缓存。在 全局 flush 间隔(秒) 所设定的时间窗口内,同步任务需为每个待写入分区分配一块独立缓存。 若在该时间间隔内,待写入分区数超过队列大小上限,系统将提前触发 全局 flush,清空所有缓存并提交数据。频繁触发全局 flush 会显著降低写入效率,影响整体同步性能。 建议:将 分区缓存队列大小 设置为 大于“全局 flush 间隔内可能产生的分区数量”,以避免过早触发 flush。 当同步任务出现延迟,且日志中出现: 重要 增大该参数将线性增加内存消耗,估算公式如下: 请根据集群资源合理配置,避免因内存过高引发 OOM内存溢出。 | MaxCompute写入 |
异步写入线程池大小 | 1~100的整数 | 1 | 当同步任务出现延迟,且确认瓶颈位于写入端时,可适当增大写入并发数以提升吞吐。例如:单并发读取Loghub的性能通常比写入MaxCompute性能要好,此时可适当调大参数以提高写入性能。 说明 但为避免 Worker 内部并发调度开销过大,建议该参数值不超过 10。 | MaxCompute写入 |
超长字段处理规则 | 不处理/截断/置空 | 不处理 | MaxCompute单字段限制最大长度,默认为8MB,该参数控制同步任务写入字段长度超过8MB时处理策略。
| MaxCompute写入 |
实时任务session缓存大小(单位字节) | 正整数 | 67108864(64MB) | 写入 MaxCompute Delta 表时,数据通过 bucket 进行缓存。每个待写入分区会创建一个 session(非分区表则创建一个全局 session),每个 session 包含多个 bucket(bucket 数量由建表时指定)。同步任务为每个 bucket 分配独立缓存,当 某个 session 内所有 bucket 的累计缓存数据量超过该参数设定值(单位:字节) 时,系统将触发该 session 下所有 bucket 数据批量提交至 MaxCompute 服务端。 说明 该参数控制内存使用与写入频率的平衡。当同步任务因缓存占用过高导致内存溢出(OOM)时,可适当减小该参数以降低内存峰值压力。 | MaxCompute写入 |
实时任务bucket缓存大小(单位字节) | 正整数 | 1048576(1MB) | 写入 MaxCompute Delta 表时,数据按 bucket 进行缓存。每个待写入的分区会创建一个 session(非分区表则创建一个全局 session),而每个 session 会进一步划分为多个 bucket(bucket 数量由建表时指定)。同步任务需为每个 bucket 分配独立缓存,当某个 bucket 的缓存数据量超过该参数设定值(单位:字节)时,即触发该 bucket 数据向 MaxCompute 服务端提交。 说明 该参数用于控制内存使用与写入频率的平衡,通常无需调整,建议保持默认值。 | MaxCompute写入 |
动态写磁盘阈值 | 正整数 | 无 | 写入MaxCompute Delta表时,可指定该参数。如果待写入分区数超过该参数设置值,则Bucket缓存数据会由内存转为磁盘存储,以减少内存消耗。该参数设置后会降低同步性能,只在任务待写入分区过多,内存消耗过大时设置。 | MaxCompute写入 |
单表flush并发 | 正整数 | 2 | 写入MaxCompute Delta表时,该参数决定一个session支持同时推送多少个bucket的缓存数据到MaxCompute服务端,通常不用修改。 | MaxCompute写入 |
数据分区策略 | 主键值/表分区字段值 | 主键值 | 写入 MaxCompute Delta 表时,若写入并发数大于 1,为保证数据写入顺序一致性,需配置数据分区策略,以决定源端数据如何分发到多个写入并发实例。
配置建议:
| MaxCompute写入 |
单Worker并发数 | 1~100的整数 | 根据CU数变化 | 同步任务总并发数=单Worker并发数×Worker数。当出现数据倾斜时,可以调整该值。以源端为Loghub为例:同步任务总并发数建议等于 为减少Worker内并发调度资源消耗过大,建议单Worker并发数设置小于10。 | 通用 |
Worker数 | 1~100的整数 | 根据CU数变化 | 同步任务总并发数=单Worker并发数×Worker数,单Worker CU数太大会导致资源调度时间过长,建议Worker数设置确保单Worker CU不要超过10。 | 通用 |