使用 Flink Connector 读取数据
StarRocks 提供自研的 Apache Flink® Connector (StarRocks Connector for Apache Flink®),支持通过 Flink 批量读取某个 StarRocks 集群中的数据。
Flink Connector 支持两种数据读取方式:Flink SQL 和 Flink DataStream。推荐使用 Flink SQL。
说明
Flink Connector 还支持将 Flink 读取到的数据写入另外一个 StarRocks 集群或其他存储系统上。参见从 Apache Flink 持续导入。
功能简介
相较于 Flink 官方提供的 Flink JDBC Connector (简称 JDBC Connector),StarRocks 自研的 Flink Connector 具备从 StarRocks 集群中各 BE 节点并行读取数据的能力,大大提高了数据读取效率。以下是两种 Connector 的实现方案对比:
-
Flink Connector
Flink 先从 FE 节点获取查询计划 (Query Plan),然后将获取到的查询计划作为参数,下发至 BE 节点,最后获取 BE 节点返回的数据。
-
Flink JDBC Connector
Flink JDBC Connector 仅能从 FE 单点上串行读取数据,数据读取效率较低。
版本要求
Connector | Flink | StarRocks | Java | Scala |
---|---|---|---|---|
1.2.10 | 1.15,1.16,1.17,1.18,1.19 | 2.1 及以上 | 8 | 2.11,2.12 |
1.2.9 | 1.15,1.16,1.17,1.18 | 2.1 及以上 | 8 | 2.11,2.12 |
1.2.8 | 1.13,1.14,1.15,1.16,1.17 | 2.1 及以上 | 8 | 2.11,2.12 |
1.2.7 | 1.11,1.12,1.13,1.14,1.15 | 2.1 及以上 | 8 | 2.11,2.12 |