Flink-源码学习-FlinkSQL&Table-Table 体系-Connector-TableSource
一、概述
Flink SQL 可以将多种数据源或数据落地端映射为 table
二、实现
2.1. 架构设计
Flink 使用 SPI 机制加载Factory
(DynamicTableSourceFactory
和 DynamicTableSinkFactory
同属 Factory
)。在 flink-table-api-java-bridge
项目的 resources/META-INF/services
目录可以找到org.apache.flink.table.factories.Factory
文件,内容为:
1 | org.apache.flink.table.factories.DataGenTableSourceFactory |
以 DataGenTableSourceFactory
为例:
2.1.1. DynamicTableSourceFactory
2.1.2. DynamicTableSource
DynamicTableSource
负责从外部系统创建出一个动态表。该接口包含有如下两个子接口: ScanTableSource 和 LookupTableSource
2.2. 实现
以 DataGenTableSourceFactory
为例:
创建 datagen 类型的 table:
1 | CREATE TABLE datagen ( |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo