实时数据研发 | Flink技术栈

下周要开始接触一些实时的内容了,想来是很幸运的,这是我在新人培训上提问过技术前辈的问题:"想学习实时相关技术,但是部门没有类似的需求,应该如何提升?"当时师姐说先用心去学,然后向主管证明你可以承担相关的任务,再去争取负责相关的项目。

啊但是我没有学,感觉有点难看不懂,每次都从第一页开始看,现在还在第10页。虽然只是参与项目,重要开发有同事cover,但是还是有点子慌,决定哪怕每天看懂一点点,也比不开始的强!

今天的学习内容就从Flink技术开始

上次的内容讲过流批一体,Flink就是在一套框架中同时支持批处理与流处理的一个计算平台(Spark也可以)。

!NOTE\] 与Spark的本质不同 Spark把Stream流当作更快的批处理,而Flink把批处理看作Stream流的特例。这个根本不同决定了两者技术上的差异。

Flink是理念和架构设计非常先进的流计算引擎,并支持了流计算所需要的几乎所有特点,包括exactly once,状态管理、容错、性能 等。基于此,阿里巴巴启动了Blink项目,扩展Flink使能够使用在阿里巴巴大规模实时计算场景。

技术栈

是一个分布式的流处理引擎,它提供了支持Flink计算的全部核心实现,如支持分布式流处理,JobGraph到ExecutionGraph的映射、调度,为上层 API层提供基础服务等。

可以部署在本地、Standalone/YARN 集群或者云端。

位于Flink runtime层之上的是 Flink API层,主要实现了面向 Stream 的流处理和面向 batch 的批处理 APL。

  • DataSetAPI:对静态数据进行批处理操作,将静态数据抽象成分布式数据集。用户可以方便地使用Flink提供的各种操作符对分布式数据集进行处理、支持Java、Scala 和 Python.
  • DataStreamAPl:对数据流进行流处理操作,将流式的数据抽象成分布式的数据流用户可以方便地对分布式数据流进行各种操作,支持Java和Scala
  • TabeAPI:对结构化数据进行查询操作,将结构化数据抽象成关系表,并通过类SQL的DSL对关系表进行各种查询操作,支持Java和Scala

此外,Flink还针对特定的应用领域提供了领域库,例如,FlinkML(MachineLcaroing)为Flink的机器学习库,提供了机器学习Pipelines APl并实现了多种机器学习算法;Gelly为Flink的图计算库,提供了图计算的相关API及多种图计算算法实现。

相关推荐
lilye661 小时前
程序化广告行业(39/89):广告投放的数据分析与优化秘籍
大数据·人工智能·数据分析
中科岩创3 小时前
某地老旧房屋自动化监测项目
大数据·物联网·自动化
Florian4 小时前
Graph4Stream:基于图的流计算加速
flink·流计算·图计算·geaflow
viperrrrrrrrrr74 小时前
大数据学习(95)-谓词下推
大数据·sql·学习
汤姆yu5 小时前
基于python大数据的旅游可视化及推荐系统
大数据·旅游·可视化·算法推荐
zhangjin12225 小时前
kettle从入门到精通 第九十四课 ETL之kettle MySQL Bulk Loader大批量高性能数据写入
大数据·数据仓库·mysql·etl·kettle实战·kettlel批量插入·kettle mysql
哈哈真棒6 小时前
hadoop 集群的常用命令
大数据
阿里云大数据AI技术6 小时前
百观科技基于阿里云 EMR 的数据湖实践分享
大数据·数据库
泛微OA办公系统6 小时前
上市电子制造企业如何实现合规的质量文件管理?
大数据·制造
镜舟科技7 小时前
迈向云原生:理想汽车 OLAP 引擎变革之路
大数据·数据库·云原生