Flink for java之五:自定义source/sink


附上之前算子串烧时的图,之前讲解的是中间的Transformations,本文探讨一下Source和Sink,例子用Source,Sink类似。

1  预定义Source和Sink

直接使用,无需引入额外的依赖,一般用于测试、调试

1.1 基于文件

代码:

文件1.txt

输出:

1.2 基于socket

代码:

socket:

输出:


1.3 基于Elements

1.3.1 GenerateSequence

输出:


1.3.2 FromElements

输出:


1.4 基于Collections

1.4.1 FromCollection

输出:


1.5 自定义source

1.5.1 实现SourceFunction接口

需要实现run、cancel两个方法,非并行,并行度为1

输出:

1.5.2 实现ParallelSourceFunction

输出:


1.5.3 继承RichSourceFunction

输出:


1.5.4 继承RichParallelSourceFunction

输出:


2 捆绑的Connectors

需要专门引入对应的jar包,以实现外部数据进出Flink,如

1)Apache Flink(source/sink)

2)Apache Cassandra(source/sink)

3)Elasticsearch(sink)

4)Hadoop FileSystem/HDFS(sink)

5)RabbitMQ(source/sink)

6)Apache NiFi(source/sink)

7)Twitter Steaming API(source)

2.1 Kafka作为Source,Sink到MySQL

Step1:配置MySQL连接

Step2:启动工程,等待从Kafka生产过来的数据,然后消费

启动工程之前,要先启动zookeeper和kafka

Step3:调用Kafka API生产数据


Step4:数据sink到MySQL存储


3 Apache Bahir

可以到官网查看,本文不展开。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容