新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课

DBC 703 0

一、Flink前奏-完成一个电商订单数据的java需求让你明白用途

  • 需求
    • 电商订单数据处理,根据下⾯的list1和list2 各10个订单
      • 统计两个⼈的分别购买订单的平均价格
      • 统计两个人的订单总价

具体实现

结构图

新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课插图

JdkStreamApp

点击查看完整内容

ProductOrder

点击查看完整内容

VideoOrder

点击查看完整内容

控制台输出

点击查看完整内容

二、JDK8 里面的Stream和流式处理框架Flink对比

    • 为啥java程序本身可以做的,还要学Flink?
    • 想实现当下企业用一个Flink的需求,你不用Flink也行的
    • 要是你开心可以用纯java代码、或者spark其他框架
  • JDK8 Stream也是流处理,flink也是流处理, 那区别点来啦
    • 数据来源和输出有多样化怎么处理;
      • jdk stream -写代码
      • flink - 自带很多组件
    • 海量数据需要进行实时处理
      • jdk stream - 内部jvm单节点处理,单机内部并行处理
      • flink - 节点可以分布在不同机器的JVM上,多机器并行处理
    • 统计时间段内数据,但数据达到是无序的
      • jdk stream -写代码
      • flink - 自带窗口函数和watermark处理迟到数据
    • 其他太多。。。。

 

  • 为了实现一个天猫双十一实时交易大盘各个品类数据展示功能
    • 小滴课堂-老王说他乐意这样写java代码,你奈我何??
      • 一个功能耗时1个月完成,需求不敢轻易改动
    • 二当家小D采用了Flink进行开发这个功能
      • 1周搞定,需求可以灵活变动

三、新一代流式处理框架Flink介绍和重要概念讲解

  • 什么是Flink
  • 有谁在用呢(基本大厂都在用)
    • 用来做啥:实时数仓建设、实时数据监控、实时反作弊风控、画像系统等

新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课插图2

新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课插图4

  • 概念
    • 数据流
      • 任何类型的数据都可以形成一种事件流,信用卡交易、传感器测量、机器日志、网站或移动应用程序上的用户交互记录,所有这些数据都形成一种流。
    • 什么是有界流
      • 有定义流的开始,也有定义流的结束。有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处理通常被称为批处理
    • 什么是无界流
      • 有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,即数据被摄取后需要立刻处理。我们不能等到所有数据都到达再处理,因为输入是无限的,在任何时候输入都不会完成。处理无界数据通常要求以特定顺序摄取事件,例如事件发生的顺序,以便能够推断结果的完整性。

     

  • Apache Flink 擅长处理无界和有界数据集,有出色的性能

 

新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课插图6

 

  • 代码使用例子
    • source、transformation、sink 都是 operator算子

新一代流式计算框架Flink急速入门和应用场景(梳理概念)——第一课插图8

发表评论 取消回复
表情 图片 链接 代码

分享