如何优化FlinkSQL作业的启动时间?

提问者:帅平 问题分类:面试刷题
如何优化FlinkSQL作业的启动时间?
1 个回答
西瓜女皇
西瓜女皇
具体的措施有:
1、对静态维度表(如用户信息)提前加载到内存,减少作业初始化时间
-- 示例:将维度表预加载到广播状态
CREATE TABLE dim_user (
    user_id STRING,
    user_name STRING
) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://localhost:3306/mydb',
    'table-name' = 'user_info',
    'lookup.cache-ttl' = '1h'  -- 缓存1小时
);
2、调整TaskManager内存​
# flink-conf.yaml
taskmanager.memory.process.size: 4g
taskmanager.memory.managed.fraction: 0.4  # 40%内存给RocksDB
3、根据数据量和集群资源调整全局并行度
SET 'parallelism.default' = '8';  -- 通常设为物理核数的2~4倍
发布于:4天前 IP属地:
我来回答