Flink datastream connectors 和 Flink table api connectors 的区别:
Flink DataStream Connectors和Table API Connectors是Flink中用于连接外部数据源的两种不同的连接器。
1. Flink DataStream Connectors:
-
Flink DataStream Connectors是用于将外部数据源连接到Flink DataStream API的连接器。
-
它们提供了与各种数据源(如Kafka、RabbitMQ、HDFS等)的集成能力。
-
DataStream Connectors提供了低级别的数据源和数据接收器的接口,允许用户以更细粒度的方式控制数据的读取和写入。
2. Table API Connectors:
- Flink Table API Connectors是用于将外部数据源连接到Flink Table API和SQL的连接器。
- 它们提供了与各种数据源(如Kafka、JDBC、Elasticsearch等)的集成能力。
**- Table API Connectors提供了高级别的接口,使用户可以使用类似于SQL的语法来查询和处理数据。
- 它们支持将外部数据源映射为Flink表,并提供了对表的查询和转换的操作。**
总的来说,DataStream Connectors提供了更低级别的接口,允许用户更细粒度地控制数据的读取和写入,而Table API Connectors提供了更高级别的接口,使用户可以使用类似于SQL的语法来查询和处理数据。DataStream connectors 在一个相对较低级别的命令式编程 API 中提供了流处理的原语(即时间、状态和数据流管理), Table API connectors 抽象了许多内部结构,并提供了结构化和声明性的 API。两种 API 都可以处理有界和无界流。
Flink 在 Java 中提供了一个专门的 StreamTableEnvironment 用于与 DataStream API 集成。 这些环境使用其他方法扩展常规 TableEnvironment,并将 DataStream API 中使用的 StreamExecutionEnvironment 作为参数。
Flink DataStream API与Data Table API集成:https://lrting.top/backend/3912/
Kafka 的 Table API Connector:https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/connectors/table/kafka/
使用 Kafka 的 Table API Connector:https://blog.csdn.net/wtmdcnm/article/details/117821106
对于用户认可的生产实践使用Flink的业务场景来说,主要是以下四种:
- 实时 ETL。
- 实时数据报表。
- 实时业务监控。
- 然后还有一个就是 CEP 在线业务。