You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们
导航

LAS Flink SQL

最近更新时间2023.08.18 17:27:51

首次发布时间2021.12.02 16:58:43

1 概述

LAS Flink SQL支持在线创建、解析、运维流式任务,支持版本LAS Flink 1.11。

2 前提条件

  • 目前 Flink 版本只支持 1.11。
  • 目前 DDL 只支持 CREATE TEMPORARY TABLE
  • LAS 内表需提前创建,不支持通过 DDL 语句创建。
  • DataLeap产品若仅开通“大数据集成”服务时,不支持创建 LAS 流式任务。

3 任务配置说明

3.1 新建任务

  1. 登录 DataLeap租户控制台

  2. 概览界面,显示加入的项目中,单击数据开发进入对应项目。

  3. 任务开发界面,左侧导航栏中,单击新建任务按钮,进入新建任务页面。

  4. 选择任务类型:

    1. 分类:数据开发

    2. 绑定引擎:LAS

    3. 关联实例:default

    4. 选择任务:流式数据 LAS Flink SQL

  5. 填写任务基本信息:

    1. 任务名称:输入任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。

    2. 保存至: 选择任务存放的目标文件夹目录。

  6. 单击确认按钮,成功创建任务。

3.2 编辑任务

新建任务成功后,进入代码开发编辑界面,通过 DDL 和 DML 编写 SQL,示例代码如下: 更多详细语法可参考文档 Flink 1.11 官方文档

  1. 示例代码-Demo1
CREATE  TEMPORARY TABLE source (f_sequence INT)
        WITH (
            'connector' = 'datagen',
            'rows-per-second' = '5',
            'fields.f_sequence.kind' = 'sequence',
            'fields.f_sequence.start' = '1',
            'fields.f_sequence.end' = '1000000'
        );

CREATE  TEMPORARY TABLE sink (f_sequence INT)
        WITH ('connector' = 'print', 'print-sample-ratio' = '1');

INSERT INTO sink
SELECT  *
FROM    source;
  1. 示例代码-Demo2
use olap_las_test;
insert into las_table_y
select *
from las_table_x;

3.3 数据源格式

SQL 编辑完成后,您可在下方选择数据源格式:

  • 支持选择其他和 Pb 数据类型。

  • Pb 类定义:需要将 Pb 类定义文件拖动到输入框中,或手动输入,如以下示例:

    注意

    1. 一次只能有一个入口类。
    2. 若入口类下的字段有嵌套其他类,这些类必须放在一起定义。
    填写示例:
    syntax = "proto2";
    package abase_test;
    message AbaseTest {
    required int64 first_id = 1;
    required int64 latest_id = 2;
    }
    
  • Pb 入口 message:填写类名信息

3.4 导航栏功能区解析

注意

任务被模板使用后,格式化、表管理、执行引擎选择功能将不支持使用。

功能名称描述
格式化依据在个性化设置中的 SQL 格式化风格的设置,格式化书写的代码,使其语法结构看起来简洁明了。
解析解析检查书写的 SQL 代码的语法和语义正确性,运行前检查语法错误信息,防止运行出错。

任务模板

您可以选择是否通过任务模板方式,便捷快速的复用代码模板逻辑,在弹窗中选择 LAS Flink SQL 任务模板,并选择相应的版本号,输入替换的参数即可完成复用。

注意

  • 使用任务模板时,界面编辑器不支持再次编辑,若当前任务模板代码,不符合您当前业务场景逻辑,您可通过修改或新建任务模板,形成新版本的任务模板,来实现不同业务场景的复用。

  • 修改模板时,需注意其他任务引用情况,操作说明详见:任务模板

执行引擎目前只支持 LAS Flink 1.11。

3.5 参数设置

单击右侧导航栏中参数设置按钮,进入参数设置界面,进行任务基本参数、输入参数、资源设置、数据源登记等相关设置:

3.5.1 基本信息

进行任务基本信息配置,选择当前任务责任人、LAS 队列和标签相关信息。

参数名称描述
任务名称显示创建任务时输入的任务名称,参数设置中不支持修改,可以在左侧任务目录结构中的任务名称右侧更多单击重命名进行修改。
任务类型LAS Flink SQL
任务描述非必填,可对任务进行详细描述,方便后续查看和管理。

责任人

仅限一个成员,默认为任务创建人(任务执行失败、复查通过或者失败时的默认接收者),可根据实际需要,修改为其他项目成员。

  • 责任人需为项目中有编辑权限的成员,项目权限须由项目管理员授权。

  • DataLeap 通过项目空间实现开发协同,项目中具有编辑权限的角色,可对项目下的所有任务进行编辑,因此无须通过为任务设置多个责任人,来达到协同合作的效果。

LAS队列

单击下拉选择 LAS 引擎提供的任务计算队列,基于创建项目时绑定的计算队列来显示,在下拉列表中,有权限的独占计算队列,会展现出队列下 CPU 和 MEM 资源使用情况,可根据资源实际使用情况来选择队列信息。

注意

子账号选择LAS队列时,需要有队列使用权限,需主账号前往 LAS控制台-权限管理 授予子账号队列权限。

标签

您可以自定义标签,用于标识某一类任务,以便快速搜索过滤,操作即时生效,无需重新上线任务。

  • 下拉选择项目归属的标签组,及对应的标签信息,支持添加多个标签组。

  • 若没有可选的标签组,您可进行以下操作步骤:

    1. 进入 DataLeap 智能市场 > 任务标签管理,进入任务标签管理控制台,新建标签组。详见任务标签管理

    2. 新建标签组成功后,前往项目管理 > 具体项目的配置信息 > 标签管理来添加标签组。详见标签管理

3.5.2 任务输入参数

若您希望同一套代码能在不同执行环境下,实现自动区分不同的引擎环境参数、项目参数、自定义参数等,则您可以通过设置任务的输入参数,实现此场景需求。

任务输入参数支持您通过使用自定义参数和项目参数,以变量或常量形式传入流式任务中使用,通过{{参数名}}的方式在代码中使用,单击手动添加按钮,进入添加输入参数界面操作。
输入参数具体分为以下两类:

  • 项目参数:将项目控制台中设置的参数信息当作输入,操作流程如下:

    1. 在界面右上角,单击项目控制台, 进入项目配置信息界面。

    2. 单击右侧导航栏中的参数信息 > 新建参数按钮,来添加项目参数。

    3. 在弹窗中设置项目参数名称、开发环境参数值、生产环境参数值和描述等信息,并单击确定按钮,完成参数新建。配置详见参数信息设置

    4. 控制台项目参数新建完成后,返回数据开发参数设置窗口,添加输入参数,参数类型为项目, 来源选择上方新建的参数名称。

    5. 单击确定按钮,完成项目输入参数添加。

  • 自定义参数:将用户自定义的参数当作输入,操作流程如下:

    1. 在数据开发参数设置窗口中,添加输入参数,依次设置参数名称、下拉选择自定义参数类型,并填入参数值,支持常量或变量形式输入。

    2. 单击确定按钮,完成自定义输入参数添加。

任务输入参数配置完成后,您可在调试日志概览或线上任务实例详情中,查看实际替换后的运行代码:

3.5.3 资源设置

完成流式任务执行相关资源设置:

参数名称描述
TaskManager 个数设置 flink 作业中 TaskManager 的数量。
单 TaskManagerCPU 数设置单个 TaskManager 所占用的 CPU 数量。
单 TaskManager 内存大小(MB)设置单个 TaskManager 所占用的内存大小,根据 TaskManagerCPU 数联动。
单 TaskManager slot 数设置单个 TaskManager 中 slot 的数量。
JobManager CPU 数设置单个 JobManager 所占用的 CPU 数量。
JobManager 内存设置单个 JobManager 所占用的内存大小,根据 JobManager CPU 数联动。

3.5.4 数据源登记

登记该任务使用的 Source 和 Sink 信息,以用于后续监控配置和血缘构建,支持通过手动添加

  • 手动添加:单击手动添加按钮,可根据 SQL 逻辑进行数据源上下游登记。

    • 源/目标:支持源/目标 Source 和 Sink 的选择。

    • 数据源类型:支持选择 DataGen、Rmq、Bmq、JDBC、Abase、火山/自建 Kafka、LAS 表这些数据源类型。

    • 各数据源类型需补充填写相应的信息,您可根据实际场景进行配置,如 Kafka 的数据源类型,需填写具体的Bootstrap Servers、Topic 名称、消费组等信息。

    • 直接上游任务:您可通过手动输入任务名称方式,进行搜索上游任务,单击添加按钮,进行手动添加。

    • 直接下游任务:暂时无法通过手动添加的方式进行操作。

    说明

    1. Abase 和 Rmq 数据源类型,仅支持解析操作,暂不支持上线发布后运行。且 Abase 数据源通常是在火山引擎内部业务上云中使用。

    2. LAS 引擎暂不支持自动解析功能来登记数据源。

  • 批量删除:手动添加的数据源,您可通过勾选已登记的数据源后,单击右侧删除批量删除按钮 ,删除勾选中的数据源。

  • 上下游任务查看:数据源登记解析出的上下游任务,您可对上游依赖任务进行编辑、添加、删除、禁用等操作;下游任务仅支持查看。

3.5.5 Flink 运行参数

Flink 相关的动态参数和执行参数,具体设置详见 Flink 官方文档

  • 单行编辑模式:填写 key-value,key值只允许字母、数字、小数点、下划线和连字符。
    a. 添加一行参数

    b. 删除当前这行参数

    c. 清空输入框中已输入的参数值

  • 脚本编辑模式:通过 JSON、Yaml 的格式填写运行参数。

4 调试任务

任务所需参数配置完成后,您可进行相关的任务调试操作。
操作栏中单击调试按钮,进行开发环境调试工作。

4.1 任务调试检查

在调试窗口,默认会进行以下前置配置信息检查:

  • 基本配置检查
  • 流式 SQL 检查
  • PB 配置检查(如有 PB 的数据类型存在)
  • 资源检查:LAS 计算队列空余资源检查。

4.2 任务调试数据

  1. 调试配置

    • 测试数据:需要选择输入数据,输入数据可以为静态数据也可以为线上数据。
  2. 输入数据

    • 测试数据:

      • MQ 类型:您不可手动选择线上数据,只能选择已有输入数据或者新建输入数据。

      • 非 MQ 类型(维表类):默认选择使用线上数据,您可自己手动选择抽取或已有数据集。

    • 线上数据:默认会选择使用线上数据,后续您也可以手动选择已有输入数据或者新建输入数据。

    • 构建数据:

      参数说明
      所属数据源选择所属数据源的信息,您可通过左侧列表中的构建输入数据 按钮,进行切换所属数据源。
      输入数据名称填写输入数据的名称,支持中文、字母、数字、下划线组合。

      获取方式

      • 手动构造:支持 json、excel 形式进行手动构造数据。

      • 本地上传:将本地数据文件拖入,单击上传即可,文件大小限制 20MB。

      数据构造完成后,您可单击下方保存并预览数据按钮,左侧列表展示当前任务相关数据源的输入数据情况及抽取状态,显示绿色时,即表示抽取成功。

4.3 开始测试

数据配置完成后,单击窗口的开始测试按钮,即开始调试运行,在下方的 测试记录窗口,查看任务运行概览、结果、启动日志等信息。
结果界面,您可以动态的查看最终结果,也可进行测试暂停、终止、和查看 Flink UI 界面等操作。

5、提交任务

任务所需参数配置完成后,将任务提交发布到运维中心实时任务运维中执行。 单击操作栏中的保存提交上线按钮,在弹窗中,需先通过提交事前检查提交上线等上线流程,最后单击确认按钮,完成作业提交。详见概述---流式任务提交发布

注意

上线流程中的“提交事前检查”,需租户主账号或项目管理员先在项目控制台 > 流水线管理中,创建相应的流水线检查事宜后方可显示。详见流水线管理

后续任务运维操作详见:实时任务运维