您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

Flink知识图谱

时间:2020-08-15 10:37:07  来源:  作者:

如何学习Flink?

对于一门计算机技术来说,如何快速学习上手呢?具体的逻辑是什么呢?我认为有以下几条

  • 了解技术的应用场景
  • 技术的基本概念,如何使用,以及如何部署(针对大数据组件而言)
  • 技术的功能特点
  • 技术源码,优缺点
Flink知识图谱

 

知识图谱详解

核心概念

  • Flink的核心概念实际上是流式处理的概念,对于流式数据来说最重要的就是时间
  • Time类型Processing TimeEvent TimeIngestion Time
  • Watermark 这是Flink的一个难点,在此我想强调的是很多人翻译为水印,对新手有误导作用,译做水位更为合理,Watermark实质上就是一个时间戳,具体场景可以简化为如何处理迟到的数据,由于在分布式环境下,会受到网络等影响,数据并不能按时到达,于是就有了watermark机制,在此做简单说明,图谱每个节点我都会出详细文章说明,对于小白而言,我们首先要了解的是这个东西到底是干什么的,而不是一头扎进去研究,了解---应用--剖析是一个更合理的路线
  • Trigger 触发器又是什么呢?上文中提到watermark是为了迟到的数据,触发器实际上是决定数据处理完后什么时候落地的
  • State什么是状态?这其实是流式数据的特性,计算数据处理的中间结果,举个例子,agg操作中state会记录中间聚合的结果 为什么需要有? 记录状态的目的是为了恢复或者重启任务,试想一下,流数据任务过程突然挂了怎么办?有了中间的结果记录,不久能够做到快速恢复任务?
  • 区别(面试常问)核心:
    • Flink是标准的流式处理引擎,基于数据驱动,把批处理看作流处理的一种特殊情况,Spark恰恰相反,Spark是微批处理模型,把无界的流处理划分为一个一个的阶段,缩小为一系列的批次,有一个形象的比喻,对于微积分来说,就是划分为一个一个有界的面积进行逼近计算的。
    • 架构:Spark是Driver master worker executor,Flink则是JobManager TaskManager Client
    • 时间:Spark只支持处理时间,Flink支持处理事件,事件时间,注入时间,同时有watermark处理滞后数据
    • 容错【大数据核心】:Spark无法做到仅消费一次,Flink可以做到

特性

特性分为两点,API和架构

  • 对于数据处理引擎来说,我们需要解决的问题就是计算,所以核心就是在哪进行计算?计算任务如何找到相应的资源,这就是架构做的事情,核心就是 资源和任务的匹配 API
  • 老生常谈就是对数据进行的操作,毕竟谁不是调参小能手呢
Flink知识图谱

 

  • SQL/Table API :Table API 和 SQL 借助了 Apache Calcite 来进行查询的解析,校验以及优化。它们可以与 DataStream 和 DataSet API 无缝集成,并支持用户自定义的标量函数,聚合函数以及表值函数。
  • DataStream APIDataStream API 为许多通用的流处理操作提供了处理原语。这些操作包括窗口、逐条记录的转换操作,在处理事件时进行外部数据库查询等ProcessFunction是 Flink 所提供的最具表达力的接口。
  • ProcessFunction 可以处理一或两条输入数据流中的单个事件或者归入一个特定窗口内的多个事件。它提供了对于时间和状态的细粒度控制
    • 是否有些深奥?这三者的区别在哪里?在这里可以简单的认为DataStream是ProcessFunction封装好的黑盒操作,通过提供一些已经写好的算子,用户直接调用就可以,但缺点也是显而易见的,它并不能满足所有自定义的需求,也就是无法细粒度的处理,这时候就需要实现底层的ProcessFunction
  • Task 真正干活的单位,经过一系列请求过后,Task匹配到资源执行,我们知道,大数据之一就是体现在数据量大,那么对于巨大的数据量来说,就出现了一下几个问题
    • 如何划分Task呢?
    • Task的多少和什么有关的?
    • Task挂了怎么办?如何恢复任务呢

状态

  • 什么是状态?这也是初学者最容易懵逼的地方
  • 状态有哪些种类,存在哪?谁又在管理状态呢?这就是状态管理 状态存储 状态种类
  • 区别?种类多种,管理方式多样,存储介质多种,区别在哪里?如何选择?
  • 状态的用途呢?存储干嘛?这就牵扯到上文我们提到了疑问,Task挂了怎么办呢?这就牵扯到状态容错
  • 状态容错的机制是什么?checkpoint?那checkpoint的底层实现又是什么呢?

libraries

这里的重难点是CEP

  • 什么是CEP? CEP是Flink相当nice的功能,它的语义是复杂事件处理,什么,听不懂?举个例子对于常见的电商平台,是根据用户停留时长,收藏,加购,点击次数来判断用户是否喜欢这个东西,那我们如何定义满足这一条件的函数呢?CEP就派上了用场
  • Gelly图处理 对于初学者来说其实没必要涉及

监控

对于大数据组件来说,长链路如何确保整个环节都没有问题呢?那就需要监控出马了,点一点,看看web UI就可以更直观的看到任务运行情况,方便定位数据处理过程中的问题

源码解析(吹牛篇)

众所周知,面试官最喜欢的就是问你,熟悉某个技术的源码吗?熟悉源码对于面试来说是有相当的优势,功利性来说,源码对于初学者的用途更多在于面试,在这个模块,我将会列出Flink源码解析的例子,帮助大家了解源码【吹牛】

落地实践

你会Spark Flink Hadoop,精通源码,但一问到如何针对应用场景进行方案设计,就傻眼了,我就只会写SQL,写scala代码,统计指标,这远远是不够的,技术是为业务服务的,没有业务也就何谈什么技术?这一章我会据一些具体公司实践已经常见的应用场景

总结

这只是一个思维导图,也就是个启蒙贴,以疑问为主,主要是为了让大家思考为什么这样做?这些年见多很多的面试者,背书很溜,原理也能巴拉巴拉说出来,一问道为什么这样做就傻眼了,这多半是面经看多了,面试造火箭,入职只会拧螺丝 。只有知道why才能更好做到 对技术的理解

接下来,我会为大家更新思维导图知识点的详细扩展,希望大家支持丫

写在最后

本文中的图可能不太清晰,不太清楚是什么原因造成的,获取高清大图麻烦私信我 回复 思维导图 获取



Tags:Flink   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
导读:本文我们将重点介绍集群运行时中ResourceManager的设计和实现,了解如何通过ResourceManager对集群的计算资源进行有效管理。作者:张利兵来源:华章科技 01 ResourceManager...【详细内容】
2021-08-23  Tags: Flink  点击:(79)  评论:(0)  加入收藏
简介: 新的接入方案在接入成本、接入延迟上都有了较为明显的优化效果,减轻了对统一调度系统的负载压力,并具备了端到端的业务对账能力。在公司开源协同的大背景下,TDBank的hive...【详细内容】
2020-11-18  Tags: Flink  点击:(107)  评论:(0)  加入收藏
1、场景描述例如订单库进行了分库分表,其实例如下图所示: 现在的需求是希望创建一个任务就将数据同步到MQ集群,而不是为每一个数据库实例单独创建一个任务,将其数据导入到MQ集...【详细内容】
2020-11-16  Tags: Flink  点击:(309)  评论:(0)  加入收藏
目前在唯品会实时平台并不是一个统一的计算框架,而是包括Storm,Spark,Flink在内的三个主要计算框架,这是由于历史原因形成。实时平台的职责主要包括实时计算平台和实时基础数据...【详细内容】
2020-10-13  Tags: Flink  点击:(124)  评论:(0)  加入收藏
Flink是什么?Flink是一个框架,是一个用于有限(bounded)或者无限(unbounded)数据流上进行有状态计算的分布式处理引擎。处理框架Flink的软件栈如图一所示,其核心是distributed dataf...【详细内容】
2020-08-31  Tags: Flink  点击:(110)  评论:(0)  加入收藏
如何学习Flink?对于一门计算机技术来说,如何快速学习上手呢?具体的逻辑是什么呢?我认为有以下几条 了解技术的应用场景 技术的基本概念,如何使用,以及如何部署(针对大数据组件而...【详细内容】
2020-08-15  Tags: Flink  点击:(83)  评论:(0)  加入收藏
本文主要从以下几个方面介绍Flink的流处理API——Source一、从集合中读取数据二、从文件中读取数据三、从Kafka中读取数据四、自定义Source数据处理的过程基本可...【详细内容】
2020-08-11  Tags: Flink  点击:(74)  评论:(0)  加入收藏
实时数仓建设目的解决传统数仓的问题实时数仓是一个很容易让人产生混淆的概念。实时数仓本身似乎和把 PPT 黑色的背景变得更白一样,从传统的经验来讲,我们认为数仓有一个很重...【详细内容】
2020-08-03  Tags: Flink  点击:(24)  评论:(0)  加入收藏
1. 目标在本教程中,我们将讨论Apache Spark和Apache Flink之间的比较。Apache spark和Apache Flink都是用于大规模批处理和流处理的开源平台,为分布式计算提供容错和数据分布...【详细内容】
2020-07-31  Tags: Flink  点击:(107)  评论:(0)  加入收藏
导读:Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算。可部署在各种集群环境,对各种大小的数据规模进行快速计算。滴滴基于 Apac...【详细内容】
2020-05-04  Tags: Flink  点击:(84)  评论:(0)  加入收藏
▌简易百科推荐
摘 要 (OF作品展示)OF之前介绍了用python实现数据可视化、数据分析及一些小项目,但基本都是后端的知识。想要做一个好看的可视化大屏,我们还要学一些前端的知识(vue),网上有很多比...【详细内容】
2021-12-27  项目与数据管理    Tags:Vue   点击:(1)  评论:(0)  加入收藏
程序是如何被执行的  程序是如何被执行的?许多开发者可能也没法回答这个问题,大多数人更注重的是如何编写程序,却不会太注意编写好的程序是如何被运行,这并不是一个好...【详细内容】
2021-12-23  IT学习日记    Tags:程序   点击:(9)  评论:(0)  加入收藏
阅读收获✔️1. 了解单点登录实现原理✔️2. 掌握快速使用xxl-sso接入单点登录功能一、早期的多系统登录解决方案 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器...【详细内容】
2021-12-23  程序yuan    Tags:单点登录(   点击:(8)  评论:(0)  加入收藏
下载Eclipse RCP IDE如果你电脑上还没有安装Eclipse,那么请到这里下载对应版本的软件进行安装。具体的安装步骤就不在这赘述了。创建第一个标准Eclipse RCP应用(总共分为六步)1...【详细内容】
2021-12-22  阿福ChrisYuan    Tags:RCP应用   点击:(7)  评论:(0)  加入收藏
今天想简单聊一聊 Token 的 Value Capture,就是币的价值问题。首先说明啊,这个话题包含的内容非常之光,Token 的经济学设计也可以包含诸多问题,所以几乎不可能把这个问题说的清...【详细内容】
2021-12-21  唐少华TSH    Tags:Token   点击:(9)  评论:(0)  加入收藏
实现效果:假如有10条数据,分组展示,默认在当前页面展示4个,点击换一批,从第5个开始继续展示,到最后一组,再重新返回到第一组 data() { return { qList: [], //处理后...【详细内容】
2021-12-17  Mason程    Tags:VUE   点击:(14)  评论:(0)  加入收藏
什么是性能调优?(what) 为什么需要性能调优?(why) 什么时候需要性能调优?(when) 什么地方需要性能调优?(where) 什么时候来进行性能调优?(who) 怎么样进行性能调优?(How) 硬件配...【详细内容】
2021-12-16  软件测试小p    Tags:性能调优   点击:(19)  评论:(0)  加入收藏
Tasker 是一款适用于 Android 设备的高级自动化应用,它可以通过脚本让重复性的操作自动运行,提高效率。 不知道从哪里听说的抖音 app 会导致 OLED 屏幕烧屏。于是就现学现卖,自...【详细内容】
2021-12-15  ITBang    Tags:抖音防烧屏   点击:(23)  评论:(0)  加入收藏
11 月 23 日,Rust Moderation Team(审核团队)在 GitHub 上发布了辞职公告,即刻生效。根据公告,审核团队集体辞职是为了抗议 Rust 核心团队(Core team)在执行社区行为准则和标准上...【详细内容】
2021-12-15  InfoQ    Tags:Rust   点击:(24)  评论:(0)  加入收藏
一个项目的大部分API,测试用例在参数和参数值等信息会有很多相似的地方。我们可以复制API,复制用例来快速生成,然后做细微调整既可以满足我们的测试需求1.复制API:在菜单发布单...【详细内容】
2021-12-14  AutoMeter    Tags:AutoMeter   点击:(20)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条