Apache Flink分布式处理引擎学习文档.docx
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)

### Apache Flink 分布式处理引擎学习文档 #### 第一章 Flink简介 ##### 1.1 初识Flink **Apache Flink** 是一个先进的框架和分布式处理引擎,旨在支持无界和有界数据流上的有状态计算。Flink 的设计目标是在所有常见集群环境中实现内存级别的执行速度,并能够支持任意规模的计算任务。 Flink 的起源可以追溯到 **Stratosphere** 项目,该项目在2010年至2014年间由位于柏林的几所大学和其他欧洲学术机构合作研发。2014年4月,Stratosphere 项目的源代码被贡献给 **Apache软件基金会**,并在同年12月正式成为Apache顶级项目。Flink 这个名字来源于德语词汇“Flink”,意味着快速和灵巧,这也很好地反映了项目的宗旨和技术特性。 Flink 的标志是一只松鼠,象征着快速和灵巧的特质。此外,松鼠的形象还与柏林特有的红棕色松鼠相呼应,其尾巴的颜色则与Apache基金会的标志颜色相匹配,形成了独特的“Apache风格”。 尽管Flink 在2010年就已经诞生,但它的真正流行始于2015年。在中国,**阿里巴巴** 实时计算团队于2016年开始基于Flink 构建自己的分支 **Blink**,并对原版进行了大量的改进以适应超大规模的业务需求。2019年1月,Blink 正式开源,目前已经成为阿里内部广泛使用的实时计算平台,覆盖了包括搜索、推荐、广告等多个核心业务领域。 Blink 相比原生Flink 的主要优势在于更加完善的SQL语法支持和更高的SQL执行性能。 ##### 1.2 Flink 的重要特点 **1.2.1 事件驱动型 (Event-driven)** Flink 支持事件驱动型应用程序的开发,这类应用能够从一个或多个事件流中提取数据,并根据接收到的事件触发计算、状态更新或外部动作。典型的例子是使用Kafka作为消息队列的基础架构,这类应用高度依赖于事件驱动机制。 与Flink 不同的是,**Spark Streaming** 采用的是微批次模式,这使得Spark在处理实时数据时存在一定的延迟。 **1.2.2 流与批的世界观** 在Flink 的世界观中,一切都是由流组成。离线数据被视为有界流,而实时数据则是无界流。这种观点与Spark形成鲜明对比,在Spark中,无论是离线还是实时数据,都被视为一系列批次。 - **无界数据流**:无界数据流具有开始但没有结束,因此必须连续处理这些数据流。处理无界数据通常要求按照特定顺序(例如事件发生的时间顺序)获取事件,以便能够推断出结果的完整性。 - **有界数据流**:有界数据流具有明确的开始和结束,可以在执行任何计算之前通过获取所有数据来处理有界流。处理有界流不需要按照顺序获取数据,因为可以始终对有界数据集进行排序。 这种以流为中心的设计极大地降低了数据处理的延迟,提升了实时性和响应性。 **1.2.3 分层API** Flink 提供了一套层次分明的API,以满足不同应用场景的需求: - **最底层级的抽象**:仅提供了有状态流,通过 **ProcessFunction** 嵌入到DataStream API中。这使得用户能够自由地处理来自一个或多个数据流的事件,并利用一致的容错状态机制。 - **核心API (Core APIs)**:主要包括 **DataStream API** 和 **DataSet API**。DataStream API 适用于处理有界或无界流数据,而DataSet API 则针对有界数据集提供了额外支持,如循环与迭代等功能。这些API支持多种转换、连接、聚合和窗口操作等高级功能。 - **Table API**:这是一种以表格为中心的声明式编程模型,特别适合处理动态变化的数据集(如流数据)。Table API 遵循扩展的关系模型,提供了类似SQL的操作,如选择、投影、连接和聚合等。 这些API的层次结构为开发者提供了灵活的选择,既可以深入底层进行定制化开发,也可以使用高级API快速构建复杂的应用程序。通过这种方式,Flink 成为了业界领先的流处理框架之一,广泛应用于各种大规模数据处理场景。































- 艮岳QaQ2021-12-03用户下载后在一定时间内未进行评价,系统默认好评。

- 粉丝: 2924
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 项目管理应当具备的技能.doc
- 基于单片机的LED灯控制器的设计.doc
- 计算机工作总结(多篇).docx
- 信息化系统集成监理方案(技术标).doc
- AIAS-Java资源
- 基于YOLOv5目标检测算法和U-Net图像分割算法的绿植病害识别与检测系统(Based on YOLOv5 object detection algorithm and U-Net image se
- 信息技术与计算机审计-PPT课件.ppt
- 电子商务的发展趋势.docx
- 2020版新学优数学同步人教A必修三精练:1章-模块复习课-第1课时-算法初步-Word版含解析.docx
- 小学简便算法100题.pdf
- 网络营销如何提升企业品牌?-.doc
- 软件质量保证措施研究.doc
- 中国人工智能未来发展的五大战略.docx
- 网络营销方案怎么写【4篇】.doc
- 通信原理习题解答.ppt
- 专业的网站策划方案写法演示标准.doc


