SQL 任务开发指南
更新时间: 2022-08-09 11:20:12
阅读 590
目前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 语句,做到在一个地方定义多处复用。使用方式如下:
登记数据源,在数仓中登记相关的数据源。详情请参考 数据源登记 章节。
在数仓-流表管理页面将元数据定义成一个流表。流表的创建方式请参考 新建流表 章节。
在SQL中直接使用元数据 数据库.表 语句。
例如:
SELECTE * FROM test_database.test_table
编写好一个 SQL 任务后,点击“保存”即可保存任务。任务的启动、停止、运维等请参考 任务运维 章节。
文档反馈
以上内容对您是否有帮助?