当前位置: 首页 > news >正文

Flink的流、批处理

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

flink的流处理(STREAMING):

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

flink的批处理(BATCH):

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

代码展示如下:


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 8888DataStreamSource<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");}
}

http://www.lryc.cn/news/478006.html

相关文章:

  • 学习方法该升级了,‌AI时代的弯道超车:【心流学习法】行动与意识合一的巅峰进化
  • 【大模型LLM面试合集】大语言模型架构_chatglm系列模型
  • 深入理解 Kafka:分布式消息队列的强大力量
  • LabVIEW 离心泵机组故障诊断系统
  • GEE土地分类——土地分类的原始remap转化原始的土地分类名称
  • 一些关于云电脑与虚拟化东西
  • Java实现图片转pdf
  • 【iOS】使用AFNetworking进行网络请求
  • ThingsBoard规则链节点:RPC Call Reply节点详解
  • 【AI换装整合包及教程】OOTDiffusion:以AI技术引领的时尚换装革命
  • 排序算法详细总结
  • uniapp MD5加密
  • 提升视觉回归测试体验:Cypress 插件推荐
  • fastbootd模式刷android固件的方法
  • 基于C#实现Windows后台窗口操作与图像处理技术分析
  • 戴尔电脑 Bios 如何进入?Dell Bios 进入 Bios 快捷键是什么?
  • 数据结构之二叉树——堆 详解(含代码实现)
  • 推荐一款面向增材制造的高效设计平台:nTopology
  • SQL,力扣题目1767,寻找没有被执行的任务对【递归】
  • JavaScript数据类型- Symbol 详解
  • WordPress网站添加嵌入B站视频,自适应屏幕大小,取消自动播放
  • 11.6 校内模拟赛总结
  • Redis常用的五大数据类型(列表List,集合set)
  • Ubuntu 20.04 部署向量数据库 Milvus + Attu
  • 实现数传数据转网口(以太网)和遥控器SBUS信号转串口的功能
  • APP 后台广告位配置的关键要素与策略
  • 分布式数据库概述
  • 用通义灵码帮助实现校验bpmn.js当前画布上只能有一个开始节点的功能
  • OKHTTP断点续传
  • 软件测试学习笔记丨Flask操作数据库-ORM