zoukankan      html  css  js  c++  java
  • Flink 简介

    Flink:

    大数据流式处理框架:Flink 和 spark streaming

    Flink 延迟更小,实时性更好

    低延迟、高吞吐,准确性高

    API:

    source 

    transform

    sink

    一、Flink简介:

    Flink(德语:快速、灵巧)

    Flink 是一个框架,分布式处理引擎,对有界和无界数据流进行状态计算

    2015年至今,快速增长,在国内大公司应用广泛

    二、为什么用Flink:

    1) 流数据,更真实的反映我们的生活

    2)传统的数据架构是是基于有限的数据集

    3)目标:低延迟、高吞吐、结果的准确性和良好的容错性

    场景:电商、物联网(传感器)、广告投放、实时报警、实时异常监测、实时结算和推送

    Flink 可以做到,毫秒级别的延迟

    银行家时间(下午三点下班),随着技术的发展,比如转账之前需要24小时,现在可以实时到账。

    三、传统数据处理架构

    事物处理(实时)

    分析处理(离线)

    有状态的流式处理

    1)第一代,分布式流式框架

    000000000------>应用逻辑------>***********

                                 |

                            local state

                                 |

                remote storage (checkpoint)

     高并发、高吞吐,分布式计算下,一致性不好

    2)流处理第二代架构(lambda 架构,两套系统,同时保证低延迟和结果的准确性)

    批处理 :批处理,一致性没问题,实时性差一些

    流处理:实时性好,但是一致性差

    3)第三代架构(Flink)

    Storm:低延迟

    Spark streaming (微批处理的架构):高吞吐、高压力下正确性好,但延迟稍高

    Flink: 结合上面的架构的所有的优点

    struct  streaming...

    四、Flink的主要特点:

    1)事件驱动,来一个处理一个(数据管道,Kafka)

    事件----> Event log(kafka) ----->Application state ----> Event log(kafka) -----> other appliation 

                                                           (持久化存储)

    2)基于流的世界观:流

    离线数据:有界流

    实时数据:无界流

    相对的,spark 中一切都是批

    3)分层API

    越顶层越抽象,使用方便、含义简明

    越底层越具体,使用灵活、能力丰富

    最上层:SQL、TABLE API

    中间层:DataStream API

    最底层:ProcessFunction

    其他特点

    支持事件时间和处理时间,不同的时间语义

    精确一次的状态一致性(exactly-once)

    低延迟,每秒数百万事件,毫秒延迟

    和众多存储系统链接,HDFS等

    高可用,动态扩展,实现7*24H全天运行

    对比sparkstreaming 和 FLINK:

    1)流和微批的区别

    2)sparkstreaming,秒级延迟,需要等批处理

    3)数据模型:

    spark 采用RDD模型,spark streaming 的Dstream实际就是一组组小批数据的RDD集合

    flink基本的数据模型是数据流,以及事件序列

    4)运行架构:

    spark是批计算,将DAG划分为不同的stage,一个完成后才可以进行下一个

    flink是标准的流执行模式,一个节点处理完,马上发向下一个节点进行处理即可

               

       

  • 相关阅读:
    一款前端文件上传工具
    聊一聊最近找工作的感受
    神秘的计算机网络----(1)
    月下无限连?拒绝无休止switch!
    计算机网络---序
    验证码识别
    两数之和
    Sanic框架基础之解决CORS跨域
    Sanic框架进阶之实现异步缓存组件
    asyncio异步模块的21个协程编写实例
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/14693811.html
Copyright © 2011-2022 走看看