Flink的流、批处理

Flink的数据流处理,是持续流模型,数据不会落地,上游和下游的Task同时启动,等待数据的到达,Flink的批处理还是用的MapReduce计算模型,先处理map端,再执行reduce端。

flink的流处理(STREAMING):

是持续流模型,上游和下游的task任务同时启动,持续等待数据的到达,可以处理无界流和有界流,因为数据是一条条进行处理的,但是处理有界流的时候,打印出来的结果会显示多个(最终结果)
比如文本每行都有java,一共有java20,但是会打印java 8 ,java 10,java 20,显示多个最终结果

flink的批处理(BATCH):

底层还是MapReduce的计算模型,先处理map端,再处理reduce端,只能处理有界流
不能处理无界流, 因为执行的方式不同,MR不可能持续等待数据的到达,而是一次性批量的处理数据

代码展示如下:

java 复制代码
import org.apache.flink.api.common.RuntimeExecutionMode;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;

//TODO:无界流:程序开始之后,数据量是不确定的,没有边界,程序一直持续等待数据的到达
//     有界流:就是指数据量是确定的,比如一个文件,是知道具体的大小的

//todo:flink的流处理(STREAMING):是持续流模型,上游和下游的task任务同时启动,持续等待数据的到达,
// 可以处理无界流和有界流,因为数据是一条条进行处理的,但是处理有界流的时候,打印出来的结果会显示多个(最终结果)
// 比如文本每行都有java,一共有java20,但是会打印java 8 ,java 10,java 20,显示多个最终结果

//todo:flink的批处理(BATCH):底层还是MapReduce的计算模型,先处理map端,再处理reduce端,只能处理有界流
// 不能处理无界流, 因为执行的方式不同,MR不可能持续等待数据的到达,而是一次性批量的处理数据



public class flinkTest {
    public static void main(String[] args) throws Exception {
        //创建flink环境
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        //设置并行度
        env.setParallelism(2);
        //数据从上游发送到下游的缓存时间,默认也是200ms延迟
        env.setBufferTimeout(200);
        
        //数据读取,无界流
        //nc -lk 8888
        DataStreamSource<String> linesDSN = env.socketTextStream("master", 8888);
        linesDSN.print();

//        //数据读取,有界流,N是no代表无界,H是have代表有界
//           //设置为批处理的方式
//         env.setRuntimeMode(RuntimeExecutionMode.STREAMING);
//        DataStream<String> linesDSH = env.readTextFile("ScalaTest/src/main/java/data/score.txt");
//        linesDSH.print();

        //启动flink,execute会触发任务调度
        env.execute("w");


    }
}
相关推荐
实在智能RPA4 分钟前
电商运营自动化AI工具有哪些?哪个最好用?——2026年全链路智能体选型深度指南
大数据·人工智能·ai·自动化
在秃头的路上啊6 分钟前
数据库下Lambda 架构(spark+flink)
架构·flink·spark
刘佬GEO6 分钟前
没时间写内容还能做 GEO:方法、流程与可操作方案
大数据·网络·人工智能·搜索引擎·ai
csgo打的菜又爱玩14 分钟前
6.MetricService 启动流程解析
大数据·flink
智慧景区与市集主理人33 分钟前
市集分账混乱?巨有科技智慧小程序实现统一收款、自动分账
大数据·科技·小程序
YangYang9YangYan1 小时前
大数据时代数据分析的价值与前景
大数据·数据挖掘·数据分析
Roselind_Yi1 小时前
云计算实验实操|Hadoop伪分布式部署+MapReduce编程实践(超详细图文版)
大数据·hadoop·经验分享·笔记·分布式·数据挖掘·云计算
captain_AIouo1 小时前
OZON运营全场景导入,Captain AI系统功能适配效果
大数据·人工智能·经验分享·aigc
b***25111 小时前
定制组装锂电池设备:技术融合与精准制造的实践路径|深圳比斯特
大数据·人工智能
qyr67891 小时前
全球汽车AI智能体市场调研与行业发展趋势
大数据·人工智能·数据分析·汽车·生活·汽车ai智能体