实时数据研发 | Flink技术栈

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

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

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

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

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

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

技术栈

Flink Core(Flink runtime层)

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

Flink runtime 层

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

Flink API层

位于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及多种图计算算法实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/20513.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Spring MVC——针对实习面试

目录 Spring MVC什么是Spring MVC?简单介绍下你对Spring MVC的理解?Spring MVC的优点有哪些?Spring MVC的主要组件有哪些?Spring MVC的工作原理或流程是怎样的?Spring MVC常用注解有哪些? Spring MVC 什么是…

硬件工程师之电子元器件—二极管(10)之可变电容和TVS二极管

写在前面 本系列文章主要讲解二极管的相关知识,希望能帮助更多的同学认识和了解二极管。 若有相关问题,欢迎评论沟通,共同进步。(*^▽^*) 二极管 25. 齐纳二极管的动态阻抗 齐纳阻抗是齐纳二极管在传导电流时的等效串联电阻(E…

2024-11-19 树与二叉树

一、树的定义和基本语术 1.基本概念:从根节点出发,依次长出各个分支,各个分支也能长出下级分支。(根节点无前驱,叶无后继)除根节点外,任何一个结点有且仅有一个前驱。 2.树的基本概念&#xff…

【金融风控项目-08】:特征构造

文章目录 1.数据准备1.1 风控建模特征数据1.2 人行征信数据1.3 据之间的内在逻辑 2 样本设计和特征框架2.1 定义观察期样本2.2 数据EDA(Explore Data Analysis)2.3 梳理特征框架 3 特征构造3.1 静态信息和时间截面特征3.2 未来信息问题3.2.1 未来信息案例3.2.2 时间序列特征的未…

docker基础

一 docker整体架构 docker镜像(image) docker hub类似于maven远程仓库地址: https://hub.docker.com/ 该地址用于搜索并下载地址。 镜像下载命令: docker pull imagename 比如:docker pull to…

Qt 元对象系统

Qt 元对象系统 Qt 元对象系统1. 元对象的概念2. 元对象系统的核心组件2.1 QObject2.2 Q_OBJECT 宏2.3 Meta-Object Compiler (MOC) 3. 信号与槽3.1 基本概念信号与槽的本质信号和槽的关键特征 3.2 绑定信号与槽参数解析断开连接 3.3 标准信号与槽查找标准信号与槽使用示例规则与…

Lua如何连接MySQL数据库?

大家好,我是袁庭新。使用Lua语言如何来连接数据库呢?新哥这篇文章给你安排上。 1 LuaSQL概述 LuaSQL是一个轻量级的Lua到数据库管理系统(DBMS)的接口库,由Kepler Project维护,且是开源的。它提供了一个简…

高级指南:全面解析线上服务器CPU占用过高问题及其解决方案

文章目录 拿到CPU占用高的进程ID通过进程ID拿到CPU占用高的线程ID将线程ID转换为十六进制jstack分析线程栈信息 CPU占用过高的时候要先找出到底是哪个进程下的线程占用内存过高了。 我在线上预先写了一个Java程序,Test.java用于本篇文章实验所用。模拟CPU占用过高时…

单片机智能家居火灾环境安全检测-分享

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 传统的火灾报警系统大多依赖于简单的烟雾探测器或温度传感器,…

打造网页版Ubuntu环境:群晖NAS部署docker-webtop与远程访问指南

文章目录 前言1. 下载Docker-Webtop镜像2. 运行Docker-Webtop镜像3. 本地访问网页版Linux系统4. 群晖NAS安装Cpolar工具5. 配置异地访问Linux系统6. 异地远程访问Linux系统7. 固定异地访问的公网地址 前言 本文旨在详细介绍如何在群晖NAS部署docker-webtop,并结合c…

Python轴承故障诊断 (19)基于Transformer-BiLSTM的创新诊断模型

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客 Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客 Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客 三十多个开源…

STM32设计学生宿舍监测控制系统-分享

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 本项目旨在利用STM32单片机为核心,结合传感器技术、无线通信技…

英伟达 Isaac Sim仿真平台体验

一、产品名称及版本 Isaac Sim 是由 NVIDIA 开发的一款基于物理模拟的机器人仿真平台,旨在为机器人开发者和研究人员提供一个高效、真实的仿真环境。Isaac Sim 基于 NVIDIA 的 Omniverse 平台,结合了强大的图形渲染、物理引擎和深度学习能力,…

利用寄存器方式,点亮led3最小板

作业:利用寄存器方式,点亮led3小灯 1.通过观察原理图, led3, 是PA8, 一段接3.3v, 一端接io口, 所以PA8端口输出低电平, 就可以让小灯点亮了 2.利用keil创建最小工程 点击跳转博客 3.按照库函数的配置方式 #include "stdint.h" #include "stm32f10x.h" …

Helius:从数据出发,衡量 Solana 的真实去中心化程度

撰文:Lostin,Helius 编译:Yangz,Techub News 摘要 截至 Epoch 685,Solana 有 4514 个节点,包括 1414 个验证者和 3100 个 RPC。没有哪个验证者控制的质押份额超过 3.2%。 中本聪系数(NC&#…

SpringBoot 增量部署发布(第2版)

一、背景介绍 书接上一篇《SpringBoot 增量部署发布_springboot增量部署-CSDN博客》,上一篇内容实现了将静态资源与jar分离,但是即使是打包成**-exec.jar,解压jar文件,可以看到里面包含了static,resource目录&#xf…

一篇保姆式centos/ubantu安装docker

前言: 本章节分别演示centos虚拟机,ubantu虚拟机进行安装docker。 上一篇介绍:docker一键部署springboot项目 一:centos 1.卸载旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest doc…

结构体的深入学习:内存对齐等

结构体的创建 //结构体类型的定义//学生 struct Stu {//学生的相关属性char name[20];int age; };结构体变量的创建 struct Stu {//学生的相关属性char name[20];int age; }s1, s2;//s1,s2全局变量int main() {struct Stu s3;//s3是局部变量return 0; }匿名结构体…

QString 转 char*问题与方法(const_cast的使用问题)

1、背景:今天有QString的变量,将QString的值传递给void func(char * ptr),于是就有了类似下面这一段离谱的代码 当时我还在想为什么var的值为空了,为什么呢。 2、原因:就是因为右边函数返回的是一个临时指针对象,给到了右边&…

【Redis】Redis实现的消息队列

一、用list实现【这是数据类型所以支持持久化】 消息基于redis存储不会因为受jvm内存上限的限制,支持消息的有序性,基于redis的持久化机制,只支持单一消费者订阅,无法避免消息丢失。 二、用PubSub【这不是数据类型,是…