当前位置:   article > 正文

初识 Flink_大数据怎么区分批任务和流任务创建sql

大数据怎么区分批任务和流任务创建sql

Flink

Flink 基本介绍

  • Flink概述 官网

    分布式的计算引擎  
    支持批处理 ,即处理静态的数据集、历史的数据集
    支持流处理 ,即实时地处理一些实时数据流
    支持基于事件 的应用【比如说滴滴通过 Flink CEP 实现实时监测司机的行为流来判断司机的行为是否正当】  
    
    • 1
    • 2
    • 3
    • 4
  • Apache Flink – Stateful Computations over Data Streams

在这里插入图片描述

Stateful Computations over Data Streams ,即数据流上的有状态的计算。

  • Data Streams ,Flink认为 有界数据集 是 无界数据流 的一种特例,所以说有界数据集也是一种数据流,事件流也是一种数据流。 Everything is streams ,即Flink可以用来处理任何的数据,可以支持批处理、流处理、AI、MachineLearning等等。
  • Stateful Computations,即 有状态计算 。有状态计算是最近几年来越来越被用户需求的一个功能。比如说一个网站一天内访问UV数,那么这个UV数便为 状态 。Flink提供了内置的对状态的一致性的处理,即如果任务发生了Failover,其状态不会丢失、不会被多算少算,同时提供了非常高的性能.
无界流 :意思很明显,只有开始没有结束。必须连续的处理无界流数据,也即是在事件注入之后立即要对其进行处理。不能等待数据到达了再去全部处理,因为数据是无界的并且永远不会结束数据注入。处理无界流数据往往要求事件注入的时候有一定的顺序性,例如可以以事件产生的顺序注入,这样会使得处理结果完整
有界流 :也即是有明确的开始和结束的定义。有界流可以等待数据全部注入完成了再开始处理。注入的顺序不是必须的了,因为对于一个静态的数据集,我们是可以对其进行排序的。有界流的处理也可以称为 批处理 。
  • 1
  • 2
  • 其他特点:
    • 性能优秀
    • 高可扩展性
    • 支持容错
    • 纯内存式的计算引擎,做了内存管理方面的大量优化
    • 支持eventime的处理
    • 支持超大状态的Job(在阿里巴巴中作业的state大小超过TB是非常常见的)
    • 支持exactly-once 的处理

Flink 架构

Flink基石

在这里插入图片描述

  • Checkpoint

    Checkpoint 机制,这是Flink最重要的一个特性。Flink基于 Chandy-Lamport 算法实现了一个分布式的一致性的快照,从而提供了 一致性的语义 。Chandy-Lamport算法实际上在1985年的时候已经被提出来,但并没有被很广泛的应用,而Flink则把这个算法发扬光大了。
    
    • 1
  • State

    Flink为了让用户在编程时能够更轻松、更容易地去 管理状态 ,还提供了一套非常简单明了的State API,包括里面的有ValueState、ListState、MapState,近期添加了BroadcastState,使用State API能够自动享受到这种一致性的语义。
    
    • 1
  • Time

    Flink实现了 Watermark 的机制,能够支持基于事件的时间的处理,或者说基于系统时间的处理,能够容忍数据的迟到,容忍,乱序的数据。
    
    • 1
  • Window

    流计算中一般在对流数据进行操作之前都会先进行开窗,即基于一个什么样的窗口上做这个计算。Flink提供了开箱即用的各种窗口,比如 滑动窗口 、 滚动窗口 、 会话窗口 以及非常灵活的 自定义的窗口 。
    
    • 1

组件栈

Flink是一个分层架构的系统,每一层所包含的组件都提供了特定的抽象,用来服务于上层组件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/972264
推荐阅读
相关标签
  

闽ICP备14008679号