本文为您介绍Flink全托管SQL作业开发的限制说明和操作步骤。
使用限制
- SQL编辑器提交的SQL作业,仅支持开源Flink V1.11、Flink V1.12和Flink V1.13版本。
- SQL支持的上下游存储(Connector)列表,请参见支持的上下游存储。
操作步骤
为了方便您编写和管理Flink SQL作业,提高作业开发效率,Flink全托管产品为您提供Flink SQL的全套功能,包括元数据管理、UDF注册和SQL编辑器等。
- 登录Flink全托管开发控制台,新建作业。
- 登录实时计算管理控制台。
- 在Flink全托管页签,单击目标工作空间操作列下的控制台。
- 在左侧导航栏,单击作业开发。
- 单击新建。
- 在新建文件对话框,填写作业配置信息。
作业参数 说明 文件名称 作业的名称。 说明 作业名称在当前项目中必须保持唯一。文件类型 流作业和批作业均支持以下文件类型: - SQL
- JAR
- PYTHON
说明 实时计算引擎VVR 3.0.1及以上版本支持批作业。部署目标 选择作业需要部署的集群,支持以下两种集群模式: - Per-Job集群(默认):适用于占用资源比较大或持续稳定运行的作业。因为作业之间资源隔离,每个作业都需要一个独立的JM,小任务JM的资源利用率较低。
- Session集群:适用于占用资源比较小或任务启停比较频繁的作业。因为多个作业可以复用相同的JM,可以提高JM资源利用率。
存储位置 指定该作业的代码文件所属的文件夹。 您还可以在现有文件夹右侧,单击
图标,新建子文件夹。
- 单击确认。
- 在作业开发页面,编写DDL和DML代码。示例代码如下。
--创建源表datagen_source。 CREATE TEMPORARY TABLE datagen_source( name VARCHAR ) WITH ( 'connector' = 'datagen' ); --创建结果表blackhole_sink。 CREATE TEMPORARY TABLE blackhole_sink( name VARCHAR ) WITH ( 'connector' = 'blackhole' ); --将源表数据插入到结果表。 INSERT INTO blackhole_sink SELECT name from datagen_source;
- 在作业开发页面右侧,单击高级配置,填写配置信息。参数解释如下表所示。
类别 配置项 说明 基础配置 部署目标 您可以修改创建作业时已选择的部署目标。 附加依赖文件 如果您需要添加更多依赖文件,请选择或者输入任意合法的文件地址。 说明 Session集群不支持设置附加依赖文件,仅Per-Job集群支持设置附加依赖文件。常规配置 引擎版本 当前作业使用的Flink的引擎版本。 说明 从VVR 3.0.3版本(对应Flink 1.12版本)开始,VVP支持同时运行多个不同引擎版本的SQL作业。如果您的作业已使用了Flink 1.12及更早版本的引擎,您需要按照以下情况进行处理:- Flink 1.12版本:停止后启动作业,系统将自动将引擎升级为vvr-3.0.3-flink-1.12版本。
- Flink 1.11或Flink 1.10版本:手动将作业引擎版本升级到vvr-3.0.3-flink-1.12或vvr-4.0.7-flink-1.13版本后重启作业,否则会在启动作业时超时报错。
编辑标签 您可以为作业设置标签。后续可以通过搜索的方式,快速找到目标作业。 行为配置 创建实例的最大重试次数 创建实例失败后的重试次数。 Stop with Drain 如果开启Stop with Drain功能,当作业被手动停止时,所有基于Event Time的窗口都会被触发。 Flink配置 Checkpoint间隔 定时执行Checkpoint的时间间隔。如果不填写,将会关闭Checkpoint。 两次Checkpoint之间的最短时间间隔 两次Checkpoint之间的最短时间间隔,如果Checkpoint最大并行度是1,则该配置确保两个Checkpoint之间有一个最短时间间隔。 开启Unaligned Checkpoint 开启Unaligned Checkpoint会大大降低反压情况下Checkpoint的总执行时间。但是也会导致增大单次Checkpoint的大小。 Flink重启策略配置 当有Task失败时,如果没有开启Checkpoint,JobManager进程不会重启。如果开启了Checkpoint,则JobManager进程会重启。该参数取值如下: - Failure Rate:基于失败率重启。
- Fixed Delay:固定间隔重启。
- No Restarts(默认值):不会重启。
更多Flink配置 在此设置其他Flink配置。例如 taskmanager.numberOfTaskSlots: 1
。日志配置 日志归档 默认已开启日志归档功能,并设置归档日志有效期为7天。开启日志归档后,您可以在作业探查页面查看历史作业实例的日志,详情请参见查看历史作业实例日志。 说明- 在VVR 3.x版本,仅VVR 3.0.7及以上版本支持开启日志归档功能。
- 在VVR 4.x版本,仅VVR 4.0.11及以上版本支持开启日志归档功能。
Root Log Level 日志级别从低到高顺序如下: - TRACE:比DEBUG更细粒度的信息。
- DEBUG:系统运行状态的信息。
- INFO:重要或者您感兴趣的信息。
- WARN:系统可能出现潜在错误的信息。
- ERROR:系统出现错误和异常的信息。
Log Levels 填写日志名称和日志级别。 Logging Profile 日志模板,可以选择系统模板,也可以选择用户配置。 - 在作业开发页面右侧,单击资源配置,选择配置信息及资源信息。支持以下三种配置模式:
- 基础模式:开源Flink的资源配置方式,您可以配置以下信息。
配置项 说明 并发度 作业全局并发数,默认值为1。 Job Manager CPUs 默认值为1。 Job Manager Memory 最小值为1 GiB。单位建议使用GiB或MiB,例如,1024 MiB或1.5 GiB。 Task Manager CPUs 默认值为1。 Task Manager Memory 最小值为1 GiB。单位建议使用GiB或MiB,例如,1024 MiB或1.5 GiB。 - 专家模式 (BETA):Flink全托管引入的全新的资源配置模式,支持对作业所使用的资源进行细粒度的资源控制,以满足作业吞吐的要求。
系统会自动根据您配置的资源需求,以Native K8s的模式运行作业,TM的规格和个数将会根据Slot的规格和作业并发度,由系统自动决定。说明 仅SQL作业支持专家模式。
- 智能模式(BETA):智能模式为专家模式的升级版。在智能模式下,作业将启用专家模式的资源配置,同时开启AutoPilot自动调优功能。
在智能配置模式下,您无需配置相关资源,AutoPilot会自动为作业生成资源配置,并根据作业的运行情况帮您进行资源配置的调优,在确保作业处于健康的状态下,优化作业资源的使用。AutoPilot详情请参见配置自动调优。
- 基础模式:开源Flink的资源配置方式,您可以配置以下信息。
- 单击保存。
- 单击验证。
- 单击上线。完成作业开发和语法检查后,即可上线作业,将数据发布至生产环境。