flink知识点总结(未完待续。。。。)

1、flink编程模型

1)抽象数据集

DataStream(实时):使用StreamExecutionEnvironment创建DataStream

DataSet(离线): 使用ExecutionEnvironment创建DataSet

2)编程模型

Source:从指定的数据源创建最原始的抽象数据集

Transformation:对数据集进行转换操作,返回一个新的数据集

Sink:将数据输出到指定的存储系统中

注意:job中必须有source和sink,Transformation可有可无

2、source

1)单并行的source

无论指定多少个并行度,该source对应的DataStream并行度只有1,即产生数据的subTask实例就一个,例如socketTextStream方法创建的DataStream

2)多并行的source

可以根据提交任务时指定程序的并行度,DataStreamSource可以有多个并行,即有多个读取数据的subTask实例,FlinkKafkaConsumer

3)自定义source

3.1)单并行:实现sourceFunction接口

3.2)多并行:ParallelSourceFunction接口,可以继承RichParalleSourceFunction抽象类(必须要实现run方法和cancel方法,可以选择性实现open方法和close方法)

[方法执行顺序:open(创建连接)->Run(while循环)->cancel->close(关闭连接,释放资源)]

3.3)调用addSource,将自定义的sourceFunction的实现类的实例传入到该方法中

4)flinkKafkaConsumer:

4.1)多并行的source,里面使用operator记录偏移量,开启checkpointing可以容错,

flinkKafkaConsumer对应的DataStreamSource的并行度的数量为提交任务时指定的-p,本地模式为当前机器逻辑核数量

4.2)如果DataStreamSource的并行度大于topic分区的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值