本文为您介绍EasyStream实时开发中SQL任务开发的限制说明和操作步骤。

使用限制

  • 引擎版本:Easystream支持多引擎版本兼容,目前已支持Flink 1.10、1.12、1.14。
  • 连接器限制:SQL任务支持的连接器(Connector)列表,请参见 SQL 开发文档 章节。

操作步骤

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

1. 新建SQL任务

  1. 登录 EasyStream实时计算平台
  2. 快捷导航栏 选择 实时开发 ,若 快捷导航栏 中无相关选项可参考 快速导航栏 进行操作。
  3. 切换至目标 工作空间
  4. 单击 新建SQL任务 ,在弹出窗口中填写任务配置信息。
  5. 单击 确定
任务参数 说明
任务名称 任务展示的名称。
说明:在当前工作空间内任务名称不可重复。
保存位置 选择任务在工作空间中保存的路径。
引擎版本 选择SQL任务执行时使用的引擎版本。
说明:当前版本CDC任务只能使用 Flink 1.13 引擎,SQL 和 Jar 任务不能使用 Flink 1.13 引擎。
任务环境
任务类别
任务标签
选择标签便于识别和筛选任务本身,环境与类别标签为必填内容。

目前SQL任务开发支持通过DDL、Meta两种方式进行开发,并基于代码内容进行调试开发。详细 SQL 语法讲解请参考 SQL 开发文档 章节。

  • DDL 方式

    SQL任务支持原生 Flink SQL 的使用方式,代码示例如下:

      CREATE TABLE blog_canal(
        ID BIGINT,
        UserID BIGINT,
        Title STRING,
        Abstract STRING,
        AllowView INT,
        PublishTime BIGINT,
        AccessCount INT,
        CommentCount INT,
        ndc_type_ STRING
      ) WITH(
        'connector.type' = 'kafka',
        'connector.topic' = 'Blog_Canal2',
        'connector.properties.bootstrap.servers' = 'xxx',
        'connector.properties.group.id' = 'Blog_Canal',
        'format.type' = 'ndc-dbhub',
        'format.split-update' = 'true',
        'connector.version' = 'universal',
        'connector.startup-mode'='timestamp',
        'connector.specific-timestamp' = '1608602506000'
      );
      CREATE CATALOG slothTest WITH (
        'hive-site'='hive-site.xml',
        'hdfs-site'='hdfs-site.xml',
        'core-site'='core-site.xml',
        'type' = 'arctic',
        'auth.method' = 'simple',
        'simple.user.name' = 'sloth'
      );
      insert into
        slothTest.testdb.blog
      select
        ID as id,
        UserID as user_id,
        Title as title,
        Abstract as abstract,
        AllowView as allow_view,
        PublishTime as publish_time,
        AccessCount as access_count,
        CommentCount as comment_count,
        ndc_type_ as arctic_action_
      from
        blog_canal;
  • Meta 方式

    Since LTS650 Update0.9:SQL 任务在Meta开发方式中,使用数据源的方式由 [数据源名称].[database].[table] 变更为 [数据源标识].[database].[table],已存在的元数据任务如使用数据源名称与数据源标识名称不同的数据源,重启时会报错,修改后数据源信息后即可正常重启。

    DDL 方式需要重复编写 CREATE 语句,不同的人编写 CREATE 语句还可能存在一定的偏差导致运行结果不一致。为了解决这些问题本平台在原始的基础上将流表信息 meta 化,避免用户重复编写 CREATE 语句,做到在一个地方定义多处复用。使用方式如下:

    1. 登记数据源,在控制台中登记相关的数据源。详情请参见控制台用户手册-数据源管理章节。

    2. 在数仓-流表管理页面将元数据定义成一个流表。流表的创建方式请参考 流表管理 章节。

    3. 在SQL中直接使用元数据 数据库.表 语句。例如: SELECTE * FROM test_database.test_table

3. 任务提交前验证和上线

  1. 完成SQL代码编写,单击 SQL任务开发 - 图1 进行语法校验;
  2. 语法校验通过后,单击 运行配置,在右侧抽屉窗口中根据所需配置任务与资源配置。
  3. 单击 提交上线 ,在弹出窗口中确认相关信息并填写描述。
  4. 单击 提交 ,即可将SQL任务提交上线,将任务发布到生产环境 。