FlinkCDC-Hudi:Mysql数据实时入湖全攻略七:FlinkSQL常用命令

前序:FlinkCDC-Hudi系列文章:

FlinkCDC-Hudi:Mysql数据实时入湖全攻略一:初试风云
FlinkCDC-Hudi:Mysql数据实时入湖全攻略二:Hudi与Spark整合时所遇异常与解决方案
FlinkCDC-Hudi:Mysql数据实时入湖全攻略三:探索实现FlinkCDC mysql 主从库同步高可用
FlinkCDC-Hudi:Mysql数据实时入湖全攻略四:两种FlinkSql kafka connector的特征与应用
FlinkCDC-Hudi:Mysql数据实时入湖全攻略五:FlinkSQL同时输出到kafka与hudi的几种实现
FlinkCDC-Hudi:Mysql数据实时入湖全攻略六:极限压测下炸出来的FlinkCDC-Hudi坑,真多

1、设置作业名

FlinkSQL> set pipeline.name = job_name;

2、开启checkpoint

设置execution.checkpointing.interval后,会周期性地进行checkpoint,checkpoint生成

FlinkSQL> set execution.checkpointing.interval=30sec;

3、取消作业时保留最新的checkpoint

flink作业取消作业时会默认删除checkpoint文件,为了方便作业回滚、重启,可以设置取消时保留checkpoint文件。

Flink SQL> set execution.checkpointing.externalized-checkpoint-retention= RETAIN_ON_CANCELLATION;

4、FlinkSQL client设置savepoint/checkpoint

通过execution.savepoint.path指定savepoint/checkpoint路径,然后触发作业,该作业就会从savepoint/checkpoint重启。需要注意的是所设置的参数在flink sql client session生命周期内有效,无法unset。只能重启client来清楚设置。

Flink SQL> set 'execution.savepoint.path'='hdfs:///tmp/flink/checkpoints/88541fd8a08e1cee71aac55d2f39951f/chk-3'

5、Flink sql client初始化环境

Flink sql client暂不支持多条语句粘贴执行,粘贴多条语句时会报错。如果在一个启动一次session后,总是要做一些初始化工作,如建表、设置checkpoint变量等,不断地复制粘贴这些语句无疑是很麻烦的事情。这时可以将这些sql写到一个文件中,在启动sql client时加入 -i 参数来初始化运行环境。-i 初始化只支持 set语句和ddl操作哦,不要在 -i 文件中加入CRUD语句。

FLINK_HOME/bin/sql-client.sh embedded -s yarn-session -j ./lib/hudi-flink-bundle_2.11-0.10.0.jar -i init.sql shell

6、不启动Flink sql client 直接触发作业执行

如果不想启动client进入交互查询,可以将sql语句写入一个文件中,可以直接通过-f 启动flink sql 作业。

FLINK_HOME/bin/sql-client.sh embedded -s yarn-session -j ./lib/hudi-flink-bundle_2.11-0.10.0.jar -i init.sql -f execute.sql

7、查看表信息

查看表信息三步曲。

FlinkSQL> show catalog;
FlinkSQL> show tables;
FlinkSQL> desc tableName;

你可能感兴趣的:(Hudi,Flink,flink,apache,big,data)