Skip to main content

简介

GeaFlow 支持从各类connector中读写数据,GeaFlow将它们都识别为外部表,并将元数据存储在Catalog中。

语法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table (
id BIGINT,
name VARCHAR,
age INT
) WITH (
type='file',
geaflow.dsl.file.path = '/path/to/file',
geaflow.dsl.window.size = 1000
)

声明一张表来使用Connector,具体使用Source/Sink由读写行为决定。

TEMPORARY 用于创建临时表,临时表不写入Catalog。如果不指定 IF NOT EXISTS 则会在存在同名表时报错。

WITH子句用于指定Connector的配置信息,其中的type字段必须,用来指定使用Connector类型,例如file表示使用文件。

同时我们可以在WITH中添加表的参数,这些参数会覆盖掉外部(SQL文件中、作业参数中)的配置项,具有最高优先级。

主要参数

参数名是否必须描述
type指定使用的Connector类型
geaflow.dsl.window.size重要,-1表示读取所有数据为一个窗口,属于批式处理。正数表示若干条数据为一个窗口,为流式处理。
geaflow.dsl.partitions.per.source.parallelism将Source的分片若干个编为一组,减少并发数关联的资源使用量。

示例

CREATE TABLE console_sink (
id BIGINT,
name VARCHAR,
age INT
) WITH (
type='console'
);

-- Write one row to the log
INSERT INTO console_sink
SELECT 1, 'a', 2;