没有合适的资源?快使用搜索试试~ 我知道了~
基于Flink的组件化实时特征处理平台的设计与实现.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 67 浏览量
2023-09-10
15:55:03
上传
评论
收藏 3.64MB DOCX 举报
温馨提示
试读
90页
基于Flink的组件化实时特征处理平台的设计与实现.docx
资源推荐
资源详情
资源评论
i
摘要
近年来,得益于互联网、云计算等技术的快速发展,各行各业每日都在产
出数以亿计的大规模海量数据。人们可以通过大数据技术对海量数据进行处
理,并对数据进行分析,可以带来许多有价值的产出,于是,如何高效地加工
和利用这些数据是目前技术人才面临的一个头号难题。当下,大数据处理主要
存在如下问题:1)技术繁杂,上手难度大。2)存在大量重复编码,处理效率
低。3)实时数据处理能力缺乏,批计算无法应对实时场景。
综上所述,为解决当下大数据处理中的种种难题,我们以电商搜索推荐场
景为例,构建了全链路的实时大数据处理平台,主要包括了:1)打造一站式的
大数据处理平台,实现从数据采集、数据处理、分布式存储、数据管理的一站
式大数据闭环。同时,系统必须具备高效、低延迟和高容错性的要求,保证任
务严格无误地执行。2)大数据组件化抽象。基于 Flink 二次开发,在 Flink 计算
图 StreamGraph 之上重新定义 JobGraph,将大数据中每一个独立的功能抽象成
JobGraph 中的一个节点,在执行计算时将各独立的组件模块在任务执行时能够
组合成一个任务,减少不必要的重复开发。3)支持实时流计算,同时优化实现
了双流 Join 功能。针对实时流关联中左右流速率不一致的问题,提出了双流
Join 和 Watermark 方案,协调多个实时计算流之间的速率,提升关联成功率。
关键词:大数据处理,实时计算,分布式计算,双流 Join,组件化
ii
Abstract
In recent years, with the rapid development of Internet, cloud computing and
other technologies, hundreds of millions of large-scale massive data are generated in
all walks of life every day. People can process and analyze massive data through big
data technology, which can bring a lot of valuable output. Therefore, how to efficiently
process and use these data has become a number one problem for current technical
talents. At present, big data processing mainly has the following problems: 1) the
technology is complex and difficult to start. 2) There are a lot of repetitive codes, so
the processing efficiency is low. 3) Lack of real-time data processing ability, unable to
cope with high real-time requirements of the scene.
To sum up, in order to solve various problems in the current big data processing,
we take e-commerce search recommendation scenario as an example to build a full
link real-time big data processing platform, which mainly includes: 1) building a one-
stop big data processing platform to realize one-stop big data closed-loop from data
collection, data processing, distributed storage and data management. At the same
time, the system must have the requirements of high efficiency, low delay and high
fault tolerance to ensure that the task is executed strictly and correctly. 2) Big data
component abstraction. Based on the second development of Flink, we redefine the
jobgraph on the stream graph of Flink, abstract each independent function in big data
into a node in the jobgraph, and combine each independent component module into a
task when the task is executed. 3) Support real-time flow calculation and optimize the
implementation of double flow join. To solve the problem of inconsistency between
the left and right flow rates in real-time flow Association, a two flow join and
watermark scheme is proposed to coordinate the rates of multiple real-time calculation
flows and improve the success rate of association.
Keywords: big data processing, real-time computing, distributed computing, dual
flow join, componentization
I
目录
摘要 ................................................................i
Abstract ............................................................ii
第 1 章 绪论 .........................................................1
1.1 课题背景及意义 ...............................................1
1.2 国内外研究现状 ...............................................2
1.3 研究目标与内容 ...............................................4
1.3.1 研究目标 ...............................................4
1.3.2 研究内容 ...............................................4
1.4 论文章节安排 .................................................4
1.5 本章小结 .....................................................5
第 2 章 相关技术和理论介绍 ...........................................6
2.1 分布式架构系统 ...............................................6
2.1.1 分布式系统特性 .........................................6
2.1.2 分布式理论 .............................................6
2.2 流式大数据处理 ...............................................8
2.2.1 时序性 .................................................8
2.2.2 语义保障 ...............................................9
2.2.3 容错语义 ...............................................9
2.3 大数据计算存储引擎介绍 ......................................10
2.3.1 分布式日志采集 Flume...................................10
2.3.2 分布式文件系统 HDFS...................................11
2.3.3 分布式数据库 Hbase .....................................13
2.3.4 分布式消息系统 Kafka ...................................13
II
2.3.5 大数据计算引擎 Flink....................................14
2.4 本章小结 ....................................................16
第 3 章 系统架构总体设计 ............................................17
3.1 需求分析 ....................................................17
3.1.1 功能性需求分析 ........................................17
3.1.2 非功能性需求分析 ......................................18
3.2 整体架构设计 ................................................19
3.2.1 前端与后台业务模块简介 ................................21
3.2.2 组件化编译引擎模块简介 ................................21
3.2.3 计算存储模块简介 ......................................22
3.3 本章小结 ....................................................23
第 4 章 可扩展的组件化编译引擎设计与实现 ............................24
4.1 Flink 计算图机制..............................................24
4.2 组件化编译引擎设计 ..........................................26
4.2.1 UI 配置解析............................................28
4.2.2 TypeDerivation 验证......................................28
4.2.3 基于 Rule 的 Graph 优化..................................29
4.2.4 节点 Translator 翻译 .....................................29
4.3 基于编译框架的组件库实现 ....................................30
4.3.1 Source 型组件 ...........................................30
4.3.2 Transformation 型组件 ....................................31
4.3.3 Sink 型组件.............................................32
4.4 本章小结 ....................................................32
第 5 章 基于 WaterMark 的实时流关联的实现与优化 ......................33
5.1 数据关联 ....................................................33
III
5.1.1 传统数据库表关联 ......................................33
5.1.2 双流 JOIN..............................................34
5.2 基于 Netty 的 WaterMark 限流机制 ..............................35
5.3 基于 WaterMark 机制的双流 JOIN 实现 ..........................36
5.3.1 KeyJoin ................................................36
5.3.2 TimeJoin ...............................................39
5.3.3 CrossJoin ...............................................41
5.4 本章小结 ....................................................43
第 6 章 高可用分布式计算存储模块设计 ................................44
6.1 分布式计算存储架构介绍 ......................................44
6.2 基于 Flume 的数据采集模块详细设计............................46
6.2.1 日志采集系统设计 ......................................46
6.2.2 序列化接口设计 ........................................48
6.3 分布式数据存储中心 ..........................................50
6.3.1 分布式存储集群设计 ....................................50
6.3.2 Hbase 详细设计 .........................................50
6.3.3 Kafka 详细设计 .........................................51
6.4 基于 Flink 的实时计算引擎设计.................................52
6.5 本章小结 ....................................................53
第 7 章 平台设计与实现 ..............................................54
7.1 前端与后台业务模块设计 ......................................54
7.1.1 前端业务模块架构设计 ..................................54
7.1.2 后端业务模块架构设计 ..................................55
7.2 平台功能设计 ................................................56
7.2.1 组件化大数据处理界面及说明 ............................56
剩余89页未读,继续阅读
资源评论
南抖北快东卫
- 粉丝: 72
- 资源: 5584
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功