本文为您介绍Flink全托管SQL作业开发的限制说明和操作步骤。

使用限制

  • SQL编辑器提交的SQL作业,仅支持开源Flink V1.11、Flink V1.12和Flink V1.13版本。
  • SQL支持的上下游存储(Connector)列表,请参见支持的上下游存储

操作步骤

为了方便您编写和管理Flink SQL作业,提高作业开发效率,Flink全托管产品为您提供Flink SQL的全套功能,包括元数据管理、UDF注册和SQL编辑器等。

  1. 登录Flink全托管开发控制台,新建作业。
    1. 登录实时计算管理控制台
    2. Flink全托管页签,单击目标工作空间操作列下的控制台
    3. 在左侧导航栏,单击作业开发
    4. 单击新建
    5. 新建文件对话框,填写作业配置信息。
      作业参数 说明
      文件名称 作业的名称。
      说明 作业名称在当前项目中必须保持唯一。
      文件类型 流作业和批作业均支持以下文件类型:
      • SQL
      • JAR
      • PYTHON
      说明 VVP 2.4.1且VVR 3.0.1及以上版本支持批作业。
      部署目标 选择作业需要部署的集群,支持以下两种集群模式:
      • Per-Job集群(默认):适用于占用资源比较大或持续稳定运行的作业。因为作业之间资源隔离,每个作业都需要一个独立的JM,小任务JM的资源利用率较低。
      • Session集群:适用于占用资源比较小或任务启停比较频繁的作业。因为多个作业可以复用相同的JM,可以提高JM资源利用率。
      说明 如果您需要开启SQL Preview功能,必须选择Session集群,且已将其设置为SQL Previews集群,详情请参见作业调试配置Session集群
      存储位置 指定该作业的代码文件所属的文件夹。

      您还可以在现有文件夹右侧,单击新建文件夹图标,新建子文件夹。

    6. 单击确认
  2. 在作业开发页面,编写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;
  3. 在作业开发页面右侧,单击高级配置,填写配置信息。
    参数解释如下表所示。
    类别 配置项 说明
    基础配置 部署目标 您可以修改创建作业时已选择的部署目标。
    附加依赖文件 如果您需要添加更多依赖文件,请选择或者输入任意合法的文件地址。
    说明 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.12vvr-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
    日志配置 Root Log Level 日志级别从低到高顺序如下:
    1. TRACE:比DEBUG更细粒度的信息。
    2. DEBUG:系统运行状态的信息。
    3. INFO:重要或者您感兴趣的信息。
    4. WARN:系统可能出现潜在错误的信息。
    5. ERROR:系统出现错误和异常的信息。
    Log Levels 填写日志名称和日志级别。
    Logging Profile 日志模板,可以选择系统模板,也可以选择用户配置。
  4. 在作业开发页面右侧,单击资源配置,选择配置信息及资源信息。
    支持以下三种配置模式:
    • 基础模式:开源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详情请参见配置自动调优

  5. 单击保存
  6. 单击验证
  7. 单击上线
    完成作业开发和语法检查后,即可上线作业,将数据发布至生产环境。