如何正确使用Flink Connector?( 六 )

详细也可以参考 Flink 源码中提供的一些相对应的 Examples 来查看异常预定义 source 和 sink 的使用方法 , 例如 WordCount、SocketWindowWordCount 。

2.Bundled Connectors

Flink 里已经提供了一些绑定的 Connector , 例如 kafka source 和 sink , Es sink等 。 读写 kafka、es、rabbitMQ 时可以直接使用相应 connector 的 api 即可 。 第二部分会详细介绍生产环境中最常用的 kafka connector 。

虽然该部分是 Flink 项目源代码里的一部分 , 但是真正意义上不算作 Flink 引擎相关逻辑 , 并且该部分没有打包在二进制的发布包里面 。 所以在提交 Job 时候需要注意 , job 代码 jar 包中一定要将相应的 connetor 相关类打包进去 , 否则在提交作业时就会失败 , 提示找不到相应的类 , 或初始化某些类异常 。

3.Apache Bahir 中的连接器

Apache Bahir 最初是从 Apache Spark 中独立出来项目提供 , 以提供不限于 Spark 相关的扩展/插件、连接器和其他可插入组件的实现 。 通过提供多样化的流连接器(streaming connectors)和 SQL 数据源扩展分析平台的覆盖面 。 如有需要写到 flume、redis 的需求的话 , 可以使用该项目提供的 connector 。

推荐阅读