Connector基础介绍

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;