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

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

42a4640cd6af

1  预定义Source和Sink

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

1.1 基于文件

代码:

42a4640cd6af

文件1.txt

42a4640cd6af

输出:

42a4640cd6af

1.2 基于socket

代码:

42a4640cd6af

socket:

42a4640cd6af

输出:

42a4640cd6af

1.3 基于Elements

1.3.1 GenerateSequence

42a4640cd6af

输出:

42a4640cd6af

1.3.2 FromElements

42a4640cd6af

输出:

42a4640cd6af

1.4 基于Collections

1.4.1 FromCollection

42a4640cd6af

输出:

42a4640cd6af

1.5 自定义source

1.5.1 实现SourceFunction接口

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

42a4640cd6af

输出:

42a4640cd6af

1.5.2 实现ParallelSourceFunction

42a4640cd6af

42a4640cd6af

输出:

42a4640cd6af

1.5.3 继承RichSourceFunction

42a4640cd6af

42a4640cd6af

输出:

42a4640cd6af

1.5.4 继承RichParallelSourceFunction

42a4640cd6af

42a4640cd6af

输出:

42a4640cd6af

42a4640cd6af

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连接

42a4640cd6af

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

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

42a4640cd6af

Step3:调用Kafka API生产数据

42a4640cd6af

42a4640cd6af

Step4:数据sink到MySQL存储

42a4640cd6af

3 Apache Bahir

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值