支持的连接器

本文为您介绍Flink全托管支持的表类型的定义和连接器。

表类型的定义

阿里云实时计算Flink版通过Flink SQL定义表对上下游存储进行映射或者使用Datastream API进行连接来实现读写。支持以下几种Flink SQL表类型的定义:

源表(Source Table)

  • Flink作业的数据输入表,是计算的驱动来源。

  • 不能作为维表,必须作为驱动表来推进后续计算。产生的记录决定了计算链的触发。

  • 通常是需要进行转换计算的大规模业务数据,量级可以达到千万级甚至亿级别。

  • 以流式数据的形式输入,表示连续不断的新数据,可以来自消息队列、数据库变更日志等。

  • 包含需要Join和关联的关键字段,如用户ID、订单ID等业务主键。

维表(Dimension Table)

  • 辅助表,用于丰富和扩展源表的数据。

  • 不能作为主驱动表,只能辅助补充源表。维表本身不驱动计算。

  • 数据规模通常较小,可以是静态表也可以是低吞吐的流表,数据量级可能在GB到TB级别。

  • 提供对业务数据的额外补充信息,如用户姓名、产品详情、区域信息等。

  • 通过与源表进行Join连接,可以丰富源表的信息,形成更加详细的宽表。

结果表(Sink Table)

  • Flink作业输出的结果数据表。

  • 存储着经过计算转换后的最终结果数据,如聚合结果、过滤后的数据等。

  • 可以输出到数据库、消息队列、文件等外部系统,用于后续的分析。

  • 是整个作业处理链的最终产出和输出,存储了计算的输出。

例如,有如下源表和维表:

  • 源表:订单数据表,包含用户ID、订单ID、订单金额等信息。

  • 维表:用户信息表,包含用户ID、用户名、地址等信息。

作业首先从订单数据源表读取实时订单数据,将订单数据流与用户信息静态维表进行Join,然后按地区聚合统计订单总额,最后将统计结果写入结果表。

在这个作业中,订单表作为驱动源表输入,用户信息表作为静态维表,统计结果表作为作业最终输出。订单表不能作为维表,必须作为驱动表输入数据;而用户信息表不能作为驱动表,只能作为辅助维表补充订单数据。

支持的连接器

连接器

支持类型

运行模式

API类型

是否支持更新或删除结果表数据

源表

维表

结果表

消息队列Kafka

×

流模式

SQL、DataStream和数据摄入YAML

不支持更新和删除结果表数据,只支持插入数据。

实时数仓Hologres

流模式和批模式

SQL、DataStream和数据摄入YAML

日志服务SLS

×

流模式

SQL和DataStream

不支持更新和删除结果表数据,只支持插入数据。

MySQL

说明

支持连接RDS MySQL版、PolarDB MySQL版及自建MySQL。

流模式

SQL、DataStream和数据摄入YAML

云数据库RDS MySQL版

说明

后续将不再支持云数据库RDS MySQL版连接器,建议您直接使用MySQL连接器。

×

流模式和批模式

SQL

大数据计算服务MaxCompute

流模式和批模式

SQL和DataStream

不支持更新和删除结果表数据,只支持插入数据。

数据总线DataHub

×

流模式和批模式

SQL和DataStream

不支持更新和删除结果表数据,只支持插入数据。

云数据库Redis

×

流模式

SQL

Upsert Kafka

×

流模式

SQL和数据摄入YAML

Elasticsearch

流模式和批模式

SQL和DataStream

云原生数据仓库 AnalyticDB MySQL版 3.0

×

流模式和批模式

SQL

ClickHouse

×

×

流模式和批模式

SQL

Print

×

×

流模式和批模式

SQL和数据摄入YAML

Blackhole

×

×

流模式和批模式

SQL

云数据库HBase

×

流模式

SQL

Datagen

×

×

流模式和批模式

SQL

不涉及

云消息队列 RocketMQ 版

×

流模式

SQL和DataStream

不支持更新和删除结果表数据,只支持插入数据。

表格存储Tablestore(OTS)

流模式

SQL

JDBC

流模式和批模式

SQL

StarRocks

×

流模式和批模式

SQL、DataStream和数据摄入YAML

Postgres CDC(公测中)

×

×

流模式

SQL

不涉及

云原生数据仓库AnalyticDB PostgreSQL版(ADB PG)

×

流模式和批模式

SQL

云原生多模数据库Lindorm

×

流模式

SQL

对象存储OSS

×

流模式和批模式

SQL和DataStream

不支持更新和删除结果表数据,只支持插入数据。

模拟数据生成Faker

×

流模式和批模式

SQL

不涉及

Iceberg

×

流模式和批模式

SQL

时序数据库InfluxDB

×

×

流模式

SQL

流式数据湖仓Paimon

流模式和批模式

SQL和数据摄入YAML

Hudi

×

流模式和批模式

SQL和DataStream

云原生内存数据库Tair

×

×

流模式

SQL

OceanBase(公测中)

流模式和批模式

SQL

MongoDB

流模式

SQL和DataStream

PolarDB PostgreSQL版(Oracle语法兼容1.0)

×

×

流模式和批模式

SQL