Flink——最流批的大数据框架(流批一体)

Apache Flink基础教程

资料来源:Apache Flink Tutorial (tutorialspoint.com)

Apache Flink Tutorial

Apache Flink是Apache Hadoop的开源本地分析数据库。它由Cloudera、MapR、Oracle和Amazon等供应商提供。本教程中提供的示例是使用Cloudera Apache Flink开发的。

本教程是为那些想要学习Apache Flink的人准备的。Apache Flink使用传统的SQL知识以闪电般(松鼠般doge)的速度处理大量数据。

1. Flink-前置知识

1.1 大数据平台

学习Flink之前,先来点前置知识

在过去的10年里,数据的进步是巨大的;这就产生了一个术语“大数据”。可以称之为大数据的没有固定大小;传统系统(RDBMS)无法处理的任何数据都是大数据。这些大数据可以是结构化、半结构化或非结构化的格式。最初,数据有三个维度:体量(Volume) 、速度(Velocity)、种类(Variety)。现在,维度已经超过了三个“V”.我们现在添加了其他的V -真实性(Veracity),有效性(Validity),脆弱性(Vulnerability),价值(Value),可变性(Variability)等。

大数据导致了多种工具和框架的出现,这些工具和框架有助于存储和处理数据。目前流行的大数据框架有Hadoop、Spark、Hive、Pig、Storm和Zookeeper等。它还提供了在医疗保健、金融、零售、电子商务等多个领域创建下一代产品的机会。

无论是跨国公司还是初创企业,每个人都在利用大数据来存储和处理数据,并做出更明智的决策。

1.2 批处理vs实时处理

在大数据而言,有两种类型的处理:

  • (批处理)Batch Processing
  • (实时处理)Real-time Processing

处理基于一段时间内收集的数据称为批处理。例如,银行经理希望处理过去一个月的数据(随时间收集),以了解过去一个月被取消的支票数量。

处理基于即时数据的即时结果称为实时处理。例如,银行经理在发生欺诈交易(即时结果)后立即收到欺诈警报。

下表列出了批处理和实时处理的区别:

批处理(Batch Processing)实时处理(Real-Time Processing)
静态文件事件流
按分钟、小时、天等周期处理。纳秒级,及时处理
存在磁盘上的历史数据内存存储
例子−票据生成例子−ATM事务警报

如今,实时处理在每个组织(泛指各种公司、政府部门等机构)中都得到了广泛的应用。欺诈检测、医疗保健中的实时警报和网络攻击警报等用例需要实时处理即时数据;即使是几毫秒的延迟也会产生巨大的影响。

对于这种实时用例,理想的工具应该是能够以流而不是批处理的方式输入数据的工具。Apache Flink就是实时处理工具。

1.3 Flink 简介

Apache Flink是一个实时处理框架,可以处理流数据。它是一个开源流处理框架,用于高性能、可扩展和精确的实时应用程序。它具有真正的流模型。

tips: flink最初是为实时处理设计的,但现在是流批一体(从 Apache Flink 1.12.0 开始),就问你流不流批

Apache Flink是由Data Artisans公司创建的,现在由Apache Flink社区在Apache许可下开发。到目前为止,这个社区有超过479个贡献者和15500多个提交。


Apache Flink的生态系统

下图显示了Apache Flink生态系统的不同层:

Ecosystem on Apache Flink

下面,将从该图的从下往上,分别简要介绍STORAGE、DEPLOY、KERNEL、API’s and LIBRARIES


Storage(存储)

Apache Flink有多种读/写数据的选项。下面是一个基本存储列表−

  • HDFS (Hadoop Distributed File System)
  • 本地文件系统(Local File System)
  • S3
  • 关系型数据库:RDBMS (MySQL, Oracle, MS SQL etc.)
  • MongoDB
  • HBase
  • Apache Kafka
  • Apache Flume

Deploy(部署)

您可以在本地模式、集群模式或云上部署Apache Fink。集群模式包括:standalone、YARN、MESOS。

在云端,Flink可以部署在AWS或GCP上(都是云服务器)。


Kernel(内核)

这是运行时层,它提供分布式处理、容错、可靠性、本地迭代处理能力等等。


APIs & Libraries(api和库)

这是Apache Flink的顶层,也是最重要的一层。它有数据集API,负责批处理;和数据流API,负责流处理。还有其他库,如Flink ML(用于机器学习),Gelly(用于图形处理),Tables for SQL。这一层为Apache Flink提供了多种功能。

未完待续,点个赞呗

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fork 是一个创建新进程的系统调用

在计算机科学中,fork 是一个创建新进程的系统调用。具体来说,fork 调用会创建一个与当前进程几乎完全相同的副本,包括父进程的内存布局、环境变量、打开的文件描述符等。这个新的进程被称为子进程,而原始进程被称为父进程。 以下…

光伏开发有没有难点?如何解决?

随着全球对可再生能源的日益重视,光伏技术作为其中的佼佼者,已成为实现能源转型的关键手段。然而,光伏开发并非一帆风顺,其过程中也面临着诸多难点和挑战。本文将对这些难点进行探讨,并提出相应的解决策略。 一、光伏开…

12 学习总结:操作符

目录 一、操作符的分类 二、二进制和进制转换 (一)概念 (二)二进制 (三)进制转换 1、2进制与10进制的互换 (1)2进制转化10进制 (2)10进制转化2进制 2…

解决vs2022scanf报错问题

vs2022scanf报错问题 大家下完vs2022之后,开心的写下一段简单的代码: #include <stdio.h> #include <stdlib.h>int main() {int a;scanf("%d", &a);printf("%d", a);return 0; } vs2022会毫不犹豫的报错,下面是报错信息: 翻译过来就是v…

探究InnoDB Compact行格式背后

目录 一、InnoDB 行格式数据准备 二、COMPACT行格式整体说明 三、记录的额外信息 &#xff08;一&#xff09;变长字段长度列表 数据结构 存储过程 读取过程 变长字段长度列表存储示例 &#xff08;二&#xff09;NULL 值位图 数据结构 存储过程 读取过程 NULL 值…

【MySQL进阶之路 | 高级篇】索引的声明与使用

1. 索引的分类 MySQL的索引包括普通索引&#xff0c;唯一性索引&#xff0c;全文索引&#xff0c;单列索引和空间索引. 从功能逻辑上说&#xff0c;索引主要分为普通索引&#xff0c;唯一索引&#xff0c;主键索引和全文索引.按物理实现方式&#xff0c;索引可以分为聚簇索引…

苹果电脑清理垃圾怎么清理 macbook怎么清理电脑垃圾文件 macos优化软件 cleanmymac怎么使用

在选择电脑时&#xff0c;不少人都会选择拥有高性能和轻薄机身的mac。一开始&#xff0c;它确实如我们所期待的那样健步如飞&#xff0c;然而&#xff0c;随着时间的流逝&#xff0c;有没有觉得您的Mac有时候像是需要一个好的春季大扫除一样&#xff1f;随着我们不断使用电脑&a…

Lobe Chat openai claude

claude-3-5-sonnet-20240620 $ docker run -d -p 3210:3210 \-e OPENAI_API_KEYsk-xxxx \-e OPENAI_PROXY_URLhttps://api-proxy.com/v1 \-e ACCESS_CODElobe66 \--name lobe-chat \lobehub/lobe-chatDocker 部署 更新 docker ps CONTAINER ID IMAGE …

神经网络参数-----学习率(Learning Rate)

学习率 学习率是训练神经网络的重要超参数之一&#xff0c;它代表在每一次迭代中梯度向损失函数最优解移动的步长。它的大小决定网络学习速度的快慢。在网络训练过程中&#xff0c;模型通过样本数据给出预测值&#xff0c;计算代价函数并通过反向传播来调整参数。重复上述过程…

Geoserver源码解读四 REST服务

文章目录 文章目录 一、概要 二、前置知识点-FreeMarker 三、前置知识点-AbstractHttpMessageConverter 3.1 描述 3.2 应用 四、前置知识点-AbstractDecorator 4.1描述 4.2 应用 五、工作空间查询解读 5.1 模板解读 5.2 请求转换器解读 一、概要 关于geoserver的r…

zabbix-agent2启动失败报错Unit zabbix-agent2.service entered failed state.

文章目录 1&#xff0c;用systemctl status zabbix-agent2查看报错状态2&#xff0c;用journalctl -xe查看一下报错日志3&#xff0c;再看一下zabbix的日志。4&#xff0c;错误修改5&#xff0c; 再次重启zabbix-agent2 1&#xff0c;用systemctl status zabbix-agent2查看报错…

Word如何在页眉中插入和删除横线

你平常是否遇见到Word的页眉中有一条横线&#xff0c;怎么也删不了&#xff01;&#xff01;&#xff01; 今天刘小生分享如何在页眉中插入和删除横线&#xff0c;我们一起操练起来吧&#xff01; 1、Word页眉插入横线 选择【插入】-【页眉页脚】&#xff0c;在“页眉页脚”…

00_Python核心编程

Python入门 一 Python初识 1 Python的历史 Python的历史python是蟒蛇的含义python是一种解释型的,面向对象的,带有动态语义的高级程序设计语言. python是一种使你在编程时能够保持自己的风格的程序设计语言,你不用费什么劲就可以实现你想要的功能,并且编写的程序清晰易懂. …

常见的排序算法【总结】

目录 排序的基本概念与分类排序的稳定性内排序与外排序简单排序冒泡排序时间复杂度&#xff1a; O ( n 2 ) O(n^2) O(n2) 简单选择排序排序原理&#xff1a;时间复杂度&#xff1a; O ( n 2 ) O(n^2) O(n2) 插入排序排序原理&#xff1a;时间复杂度&#xff1a; O ( n 2 ) O(n^…

晶方科技:台积电吃饱,封装迎春?

半导体产业链掀起涨价潮&#xff0c;先进封装迎接利好。 这里我们来聊国内先进封装企业——晶方科技。 近期&#xff0c;由于产能供不应求&#xff0c;台积电决定上调先进封装产品价格&#xff0c;还表示订单已经排到2026年。 大哥吃不下了&#xff0c;剩下的订单全都是空间。…

JDK 23:Loom改进版发布

1.新版 Loom EA 改进虚拟线程中的监视器&#xff08;同步方法&#xff09; Project Loom 发布了新的抢先体验版本(23-loom4-102 - 2024/5/31)。改进了对象监视器实现&#xff0c;可以防止虚拟线程在以下情况下固定其载体线程&#xff1a; 当进入同步方法/语句时发生阻塞&…

问题-python-爬虫无法爬取外网资源问题(python爬虫)

方法一&#xff1a; 这个报错通过关掉梯子就能解决&#xff0c;目前不清楚具体原理。 后续了解具体原理了&#xff0c;我会在这篇文章上更新具体分析—— 方法二&#xff1a; 也可以把这个东西打开&#xff0c;但是用完建议关掉。

python无法安装scipy怎么办

python安装scipy时出现以下错误&#xff1a; from scipy.misc import imread Traceback (most recent call last):File "D:/Pyproject/qq_Spider/create_cloud.py", line 14, in <module>from scipy.misc import imread ModuleNotFoundError: No module named …

浅析Kubernetes的权限控制模型

Kubernetes是一个开源的容器编排引擎&#xff0c;用来对容器化应用进行自动化部署、扩缩和管理。它是一个强大的集群管理系统&#xff0c;提供了丰富的功能。他的一个核心组件是Kubernetes API Server&#xff0c;这是集群中所有资源管理的入口点&#xff0c;提供了一组RESTful…

spring boot jar 启动报错 Zip64 archives are not supported

spring boot jar 启动报错 Zip64 archives are not supported 原因、解决方案问题为什么 spring boot 不支持 zip64zip、zip64 功能上的区别zip 的文件格式spring-boot-loader 是如何判断是否是 zip64 的&#xff1f; 参考 spring boot 版本是 2.1.8.RELEASE&#xff0c;引入以…