Flink SQL -- CheckPoint

1、开启CheckPoint

checkpoint可以定时将flink任务的状态持久化到hdfs中,任务执行失败重启可以保证中间结果不丢失

sql 复制代码
# 修改flink配置文件
vim flink-conf.yaml

# checkppint 间隔时间
execution.checkpointing.interval: 1min
# 任务手动取消时保存checkpoint
execution.checkpointing.externalized-checkpoint-retention: RETAIN_ON_CANCELLATION
# 同时允许1个checkpoint执行
execution.checkpointing.max-concurrent-checkpoints: 1
execution.checkpointing.min-pause: 0
# 数据处理的语义
execution.checkpointing.mode: EXACTLY_ONCE
# checkpoint超时时间
execution.checkpointing.timeout: 10min
execution.checkpointing.tolerable-failed-checkpoints: 0
execution.checkpointing.unaligned: false
# 状态后端(保存状态的位置,hashmap:内存)
state.backend: hashmap
# checkpoint路径
state.checkpoints.dir: hdfs://master:9000/flink/checkpoint
2、编写一个Flnik SQL 脚本:
sql 复制代码
vim word_count.sql
sql 复制代码
-- 实时从kafka中读取单词,统计单词的数量,将结果保存到mysql中

-- 1、创建source表
CREATE TABLE words (
    word STRING
) WITH (
  'connector' = 'kafka',
  'topic' = 'words', -- 数据的topic
  'properties.bootstrap.servers' = 'master:9092,node1:9092,node2:9092', -- broker 列表
  'properties.group.id' = 'testGroup', -- 消费者组
  'scan.startup.mode' = 'earliest-offset', -- 读取数据的位置earliest-offset latest-offset
  'format' = 'csv' -- 读取数据的格式
);

-- 2、创建sink表
CREATE TABLE word_count (
    word STRING,
    num BIGINT,
    PRIMARY KEY (word) NOT ENFORCED -- 主键
) WITH (
    'connector' = 'jdbc',
    'url' = 'jdbc:mysql://master:3306/student',
    'table-name' = 'word_count', -- 需要手动到mysql中创建表
    'username' ='root',
    'password' ='123456'
);

-- 3、编写sql处理数据将结果保存到sink表中
insert into word_count
select 
word,
count(1) as num
from
words
group by word;
3、使用sq-client.sh -f 启动脚本
sql 复制代码
sql-client.sh -f word_count.sql
4、当任务失败的时候再重新启动任务:
sql 复制代码
-- 1、获取checkpoint的路径
/file/checkpoint/47ee348d8c9edadadfc770cf7de8e7ee/chk-23

-- 2、再sql脚本中增加参数,增加到sql脚本的insert into 的前面
-- 指定任务会的checkpoint的地址
SET'execution.savepoint.path'='hdfs://master:9000/file/checkpoint/47ee348d8c9edadadfc770cf7de8e7ee/chk-23';

-- 3、启动sql任务
sql-client.sh -f word_count.sql
相关推荐
天辛大师2 分钟前
江南居士林:天辛大师浅谈如何用AI分辨明前茶还是雨前茶
大数据·人工智能·决策树·随机森林·启发式算法
隐于花海,等待花开26 分钟前
数据开发常问的技术性问题及解答
大数据·hive
数据中心的那点事儿27 分钟前
从设计到运营全链破局 恒华智算专场解锁产业升级密码
大数据·人工智能
天辛大师2 小时前
山东居士林:天辛大师用AI+预测城市田园农场运营调配
大数据·人工智能·随机森林·机器人·启发式算法
盘古信息IMS2 小时前
注塑工厂上MES系统,如何选对厂商实现数智化跃迁?
大数据·人工智能·物联网
阿坤带你走近大数据3 小时前
OracleSQL优化案例-2
大数据·oracle·sql优化
快递鸟社区3 小时前
物流基础知识详解及高效管理工具应用
大数据
cd_949217213 小时前
新北洋亮相2026 CHINASHOP:以“智印零售全生态”赋能效率与增长
大数据·人工智能·零售
IoT物联网产品手记3 小时前
IoT产品模块化架构设计:从功能堆叠到能力组合的系统方法
大数据·人工智能·物联网
几分醉意.3 小时前
Bright Data Web Scraping 实战:用 MCP + Dify 构建 Amazon 数据采集 AI 工作流(2026 指南)
大数据·人工智能·bright data mcp·dift