1. 离线批计算与实时流式计算

批计算与流式计算,本质上就是对有界流和无界流的计算

  YY-批计算

针对有界流;由于在产出计算结果前可以看到整个(完整)数据集,因而如下计算都可以实现:对数据排序,计算全局统计值,对输入数据的整体产出最终汇总聚合报表;

  YY-流计算

针对无界流;由于永远无法看到输入数据的整体(数据的输入永远无法结束),只能每逢数据到达就进行计算,并输出"当时"的计算结果(因而计算结果也不会是一个一次性的最终结果,而是源源不断的无界的结果流);

2 Flink基本概念

一个分布式、有状态的实时流式处理系统(编程框架)

flink,主要使用java语言开发而成,但对用户提供了java、scala、python编程api flink,以流处理方式作为基础的世界观,并通过引入有界流来实现批计算,从而实现流批一体

3 Flink的运行时架构

  YY-核心架构角色

YY-Flink 集群采取 Master - Slave 架构: 

  • Master 的角色为 JobManager,负责集群和作业管理;
  • Slave 的角色是 TaskManager,负责执行计算任务;
  • 客户端 Client 负责管理集群和提交任务,JobManager 和 TaskManager 是集群的进程;

  YY-各角色主要职责说明 

(1)Client Flink

客户端是 F1ink 提供的 CLI 命令行工具,用来提交 Flink 作业到 Flink 集群,在客户端中负责 StreamGraph (流图)和 Job Graph (作业图)的构建。

(2)JobManager

JobManager根据并行度将Flink客户端提交的Flink应用分解为子任务,从资源管理器 ResourceManager 申请所需的计算资源,资源具备之后,开始分发任务到TaskManager 执行 Task,并负责应用容错,跟踪作业的执行状态,发现异常则恢复作业等。

(3)TaskManager

TaskManager 接收 JobManage 分发的子任务,根据自身的资源情况 管理子任务的启动、 停止、销毁、异常恢复等生命周期阶段。Flink 程序中必须有一个TaskManager。

4 Flink的特性

  YY-适用于几乎所有的流式数据处理场景

  • 事件驱动型应用
  • 流、批数据分析
  • 数据管道及ETL

   YY-自带状态管理机制

  YY-强大的准确性保证 

  • exactly-once 状态一致性
  • 事件时间处理
  • 专业的迟到数据处理

  YY-灵活丰富的多层api

  • 流、批数据之上的SQL查询
  • 流、批数据之上的TableApi
  • datastream流处理算子api 、
  • dataset批处理算子api
  • 精细可控的processFunction

   YY-规模弹性扩展

  • 可扩展的分布式架构(集群级别的资源规模灵活配置,算子粒度的独立并行度灵活配置)
  • 支持超大状态管理
  • 增量checkpoint机制

算子粒度的独立并行度灵活配置(集群槽位资源可扩展,算子任务实例可扩展)

 YY- 强大的运维能力

  • 弹性实施部署机制
  • 高可用配置
  • 保存点恢复机制

YY-优秀的性能

  • 低延迟
  • 高吞吐
  • 内存计算

Flink系列文档-(YY01)-初识Flink相关推荐

  1. Flink系列文档-(YY08)-Flink核心概念

    1 核心概念 1.1 基础概念 用户通过算子api所开发的代码,会被flink任务提交客户端解析成jobGraph 然后,jobGraph提交到集群JobManager,转化成ExecutionGra ...

  2. Flink系列文档-(YY05)-Flink编程API-多流算子

    1 多流连接 connect   connect连接(DataStream,DataStream→ConnectedStreams) connect翻译成中文意为连接,可以将两个数据类型一样也可以类型 ...

  3. Flink系列文档-(YY02)-Flink编程基础-入门示例

    1 环境准备-创建项目引入依赖 <dependency><groupId>org.apache.flink</groupId><artifactId>f ...

  4. Flink系列文档-(YY03)-Flink编程基础API-Source

    1 Flink编程入口 首先获取flink编程的核心入口对象   /*** 获取批处理入口对象*/// 1) 普通的批处理对象ExecutionEnvironment environment1 = E ...

  5. 《Apache Flink官方文档》 Apache Flink介绍

    下面是关于Apache Flink(以下简称Filnk)框架和流式计算的概述.为了更专业.更技术化的介绍,在Flink文档中推荐了一些"概念性"的文章. 1.无穷数据集的持续计算 ...

  6. java openoffice 打印_java调用openoffice将office系列文档转换为PDF的示例方法

    前导: 发过程中经常会使用java将office系列文档转换为PDF, 一般都使用微软提供的openoffice+jodconverter 实现转换文档. openoffice既有windows版本也 ...

  7. AIO系列文档(2)----TIO使用

    AIO系列文档(1)----图解ByteBuffer中介绍了ByteBuffer用法,下面通过介绍t-io介绍如何使用: hello world例子简介 本例子演示的是一个典型的TCP长连接应用,代码 ...

  8. 老猿学5G扫盲贴:3GPP规范文档命名规则及同系列文档阅读指南

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在学习5G规范过程中,有些内容把握不定的时候,有时 ...

  9. 知识图谱问答系列文档(一)——思知机器人简介

    (一)思知项目介绍 思知机器人项目简介 知识图谱 对话机器人 思知机器人项目简介 思知项目开放了对话机器人.知识图谱.语义理解.自然语言处理工具.知识图谱融合了两千五百多万的实体,拥有亿级别的实体属性 ...

最新文章

  1. [T-ARA][Goodbye, OK]
  2. WINCE串口通讯经验小结
  3. IEDA快速书写代码快捷键
  4. Autorize插件的使用方法
  5. SqoopFlume、Flume、HDFS之间比较
  6. 关于unity如何制作mmo
  7. Atitit.eclise的ide特性-------abt 编译
  8. 小程序技术可以提升桌面应用安全等级?
  9. 【JAVA】jacob写word
  10. sql语句中表格缩写命名_数据库表、字段命名规范
  11. 源代码转换成图-控制流图、数据流图
  12. java 日期加7天_java – 如何检查日期是否超过七天
  13. 基于51单片机和物联网的智能家居系统(ESP8266物联网模块)
  14. 不同网络下 一台电脑连接另一台电脑的mysql数据库
  15. 墙裂推荐ShapeView二
  16. CSAPP 3e Attack lab
  17. BZOJ刷题记录---提高组难度
  18. OpenCV实现目标跟踪
  19. USB2.0转TTL串口硬件实现
  20. 淘宝网 286亿海量图片存储与处理架构

热门文章

  1. 简约蓝色防范电信诈骗主题教育PPT模板
  2. 谷歌插件reres的使用,js文件替换神器
  3. 【虚拟机】常用的9款虚拟机软件
  4. 七月在线机器学习中的数学第二期笔记1
  5. 轩小宝进城记~~ 2012年3月24日
  6. webuploader上传控件
  7. 筑牢合规营销“防火墙”,助力四环医药实现合规营销管理能力全面进阶 | 案例研究
  8. 什么软件可以投屏电脑?最好的手机投屏软件
  9. 我的眼睛为什么不近视--我的习惯是怎么样的?
  10. Android aar 包修改源代码和布局资源id