当前位置: 首页 > news >正文

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提供了多种功能。

未完待续,点个赞呗

相关文章:

  • 【Unity学习笔记】第十八 基于物理引擎的日月地系统简单实现
  • java智慧工地系统源码 智慧工地标准之一:环境监测 告别灰头土脸、智慧工地环境监测系统都包括哪些功能?
  • ThinkPHP6图书借阅管理系统
  • 基于uni-app和图鸟UI的智慧农业综合管控平台小程序技术实践
  • vue实现的商品列表网页
  • 第二篇: 掌握Docker的艺术:深入理解镜像、容器和仓库
  • 华为HCIP Datacom H12-821 卷10
  • 2024年华为OD机试真题-万能字符单词拼写-C++-OD统一考试(C卷D卷)
  • Admin
  • 公共网络IP地址不正确?别担心,这里有解决方案
  • 【R语言】地理探测器模拟及分析(Geographical detector)
  • 计算机网络 交换机的VLAN配置
  • 从零到一学FFmpeg:avformat_alloc_output_context2 函数详析与实战
  • 【for循环】最大跨度
  • C语言入门系列:指针入门(超详细)
  • [LeetCode] Wiggle Sort
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 【知识碎片】第三方登录弹窗效果
  • 2017前端实习生面试总结
  • Android Volley源码解析
  • ES6 ...操作符
  • EventListener原理
  • flutter的key在widget list的作用以及必要性
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript 一些 DOM 的知识点
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • MySQL几个简单SQL的优化
  • Nodejs和JavaWeb协助开发
  • OSS Web直传 (文件图片)
  • SegmentFault 2015 Top Rank
  • Windows Containers 大冒险: 容器网络
  • 对象管理器(defineProperty)学习笔记
  • 欢迎参加第二届中国游戏开发者大会
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 实现菜单下拉伸展折叠效果demo
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 如何用纯 CSS 创作一个货车 loader
  • 如何正确理解,内页权重高于首页?
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #pragma data_seg 共享数据区(转)
  • #数据结构 笔记三
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (C语言)逆序输出字符串
  • (javascript)再说document.body.scrollTop的使用问题
  • (LeetCode) T14. Longest Common Prefix
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (poj1.2.1)1970(筛选法模拟)
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (SERIES12)DM性能优化
  • (zt)最盛行的警世狂言(爆笑)
  • (顶刊)一个基于分类代理模型的超多目标优化算法