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

引擎版本


Easystream支持多引擎版本兼容,目前已支持Flink 1.10、1.12、1.14。

DDL 方式


SQL 任务支持 Flink SQL。原始的 Flink SQL 的使用方式为先使用 CREATE 语句创建元数据,然后再编写相关的处理 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 方式


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

  1. 登记数据源,在数仓中登记相关的数据源。详情请参考 数据源登记 章节。

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

  3. 在SQL中直接使用元数据 数据库.表 语句。

    例如: SELECTE * FROM test_database.test_table

编写好一个 SQL 任务后,点击“保存”即可保存任务。任务的启动、停止、运维等请参考 任务运维 章节。