From 04536b5e1c7abf6be1fc597027c4991ef9014792 Mon Sep 17 00:00:00 2001 From: Lu Weizheng Date: Wed, 3 Jul 2024 17:00:04 +0800 Subject: [PATCH] ch 1 --- doc/_toc.yml | 8 +- ...d-stream-processing.md => batch-stream.md} | 36 +++--- doc/ch-big-data-intro/bigdata.md | 52 +++++---- ...a-processing-platforms.md => evolution.md} | 2 +- ...ercise-building-data-stream-using-Kafka.md | 109 ------------------ .../exercise-stream-with-kafka.md | 109 ++++++++++++++++++ .../img/three-type-window.png | Bin 0 -> 148168 bytes doc/ch-big-data-intro/index.md | 4 +- .../representative-big-data-technologies.md | 77 ------------- .../stream-processing-basics.md | 54 ++++----- doc/ch-big-data-intro/technologies.md | 77 +++++++++++++ 11 files changed, 270 insertions(+), 258 deletions(-) rename doc/ch-big-data-intro/{batch-processing-and-stream-processing.md => batch-stream.md} (50%) rename doc/ch-big-data-intro/{evolution-of-big-data-processing-platforms.md => evolution.md} (99%) delete mode 100644 doc/ch-big-data-intro/exercise-building-data-stream-using-Kafka.md create mode 100644 doc/ch-big-data-intro/exercise-stream-with-kafka.md create mode 100644 doc/ch-big-data-intro/img/three-type-window.png delete mode 100644 doc/ch-big-data-intro/representative-big-data-technologies.md create mode 100644 doc/ch-big-data-intro/technologies.md diff --git a/doc/_toc.yml b/doc/_toc.yml index 2efcf09..7e9e2db 100644 --- a/doc/_toc.yml +++ b/doc/_toc.yml @@ -5,12 +5,12 @@ subtrees: - file: ch-big-data-intro/index entries: - file: ch-big-data-intro/bigdata - - file: ch-big-data-intro/batch-processing-and-stream-processing - - file: ch-big-data-intro/representative-big-data-technologies - - file: ch-big-data-intro/evolution-of-big-data-processing-platforms + - file: ch-big-data-intro/batch-stream + - file: ch-big-data-intro/technologies + - file: ch-big-data-intro/evolution - file: ch-big-data-intro/stream-processing-basics - file: ch-big-data-intro/bigdata-programming-languages - - file: ch-big-data-intro/exercise-building-data-stream-using-Kafka + - file: ch-big-data-intro/exercise-stream-with-kafka - file: ch-programming-basics/index entries: - file: ch-programming-basics/inheritance-and-polymorphism diff --git a/doc/ch-big-data-intro/batch-processing-and-stream-processing.md b/doc/ch-big-data-intro/batch-stream.md similarity index 50% rename from doc/ch-big-data-intro/batch-processing-and-stream-processing.md rename to doc/ch-big-data-intro/batch-stream.md index 588b81a..124c123 100644 --- a/doc/ch-big-data-intro/batch-processing-and-stream-processing.md +++ b/doc/ch-big-data-intro/batch-stream.md @@ -1,15 +1,21 @@ -(batch-processing-and-stream-processing)= +(batch-stream)= # 从批处理到流处理 -## 1.2.1 数据与数据流 +## 数据与数据流 -在大数据的5个“V”中我们已经提到,数据量大且产生速度快。从时间维度来讲,数据源源不断地产生,形成一个无界的数据流(Unbounded Data Stream)。如图1-5所示,单条数据被称为事件(Event),事件按照时序排列会形成一个数据流。例如,我们每时每刻的运动数据都会累积到手机传感器上,金融交易随时随地都在发生,物联网(Internet of Things,IoT)传感器会持续监控并生成数据。 +在大数据的 5 个 “V” 中我们已经提到,数据量大且产生速度快。从时间维度来讲,数据源源不断地产生,形成一个无界的数据流(Unbounded Data Stream)。如 {numref}`data-and-data-stream` 所示,单条数据被称为事件(Event),事件按照时序排列会形成一个数据流。例如,我们每时每刻的运动数据都会累积到手机传感器上,金融交易随时随地都在发生,物联网(Internet of Things,IoT)传感器会持续监控并生成数据。 -![图1-5 数据和数据流](./img/data-and-data-stream.png) +```{figure} ./img/data-and-data-stream.png +--- +width: 60% +name: data-and-data-stream +--- +数据和数据流 +``` 数据流中的某段有界数据流(Bounded Data Stream)可以组成一个数据集。我们通常所说的对某份数据进行分析,指的是对某个数据集进行分析。随着数据的产生速度越来越快,数据源越来越多,人们对时效性的重视程度越来越高,如何处理数据流成了大家更为关注的问题。 -在本书以及其他官方资料中,也会将单条事件称为一条数据或一个元素(Element)。在本书后文的描述中,事件、数据、元素这3个概念均可以用来表示数据流中的某个元素。 +在本书以及其他官方资料中,也会将单条事件称为一条数据或一个元素(Element)。在本书后文的描述中,事件、数据、元素这 3 个概念均可以用来表示数据流中的某个元素。 ## 1.2.2 批处理与流处理 @@ -19,7 +25,7 @@ ### 2. 流处理 -如前文所述,数据其实是以流(Stream)的方式持续不断地产生着的,流处理(Stream Processing)就是对数据流进行处理。时间就是金钱,对数据流进行分析和处理,获取实时数据价值越发重要。如“双十一电商大促销”,管理者要以秒级的响应时间查看实时销售业绩、库存信息以及与竞品的对比结果,以争取更多的决策时间;股票交易要以毫秒级的速度来对新信息做出响应;风险控制要对每一份欺诈交易迅速做出处理,以减少不必要的损失;网络运营商要以极快速度发现网络和数据中心的故障;等等。以上这些场景,一旦出现故障,造成服务的延迟,损失都难以估量。因此,响应速度越快,越能减少损失、增加收入。而IoT和5G的兴起将为数据生成提供更完美的底层技术基础,海量的数据在IoT设备上采集,并通过高速的5G通道传输到服务器,庞大的实时数据流将汹涌而至,流处理的需求肯定会爆炸式增长。 +如前文所述,数据其实是以流(Stream)的方式持续不断地产生着的,流处理(Stream Processing)就是对数据流进行处理。时间就是金钱,对数据流进行分析和处理,获取实时数据价值越发重要。如 “双十一电商大促销”,管理者要以秒级的响应时间查看实时销售业绩、库存信息以及与竞品的对比结果,以争取更多的决策时间;股票交易要以毫秒级的速度来对新信息做出响应;风险控制要对每一份欺诈交易迅速做出处理,以减少不必要的损失;网络运营商要以极快速度发现网络和数据中心的故障;等等。以上这些场景,一旦出现故障,造成服务的延迟,损失都难以估量。因此,响应速度越快,越能减少损失、增加收入。而 IoT 和 5G 的兴起将为数据生成提供更完美的底层技术基础,海量的数据在 IoT 设备上采集,并通过高速的 5G 通道传输到服务器,庞大的实时数据流将汹涌而至,流处理的需求肯定会爆炸式增长。 ## 1.2.3 为什么需要一个优秀的流处理框架 @@ -27,23 +33,23 @@ ### 1. 股票交易的业务场景 -我们都知道股票交易非常依赖各类信息,一些有可能影响股票市场价格的信息经常首发于财经网站、微博、微信等社交媒体平台上。作为人类的我们不可能24小时一直监控各类媒体,如果有一个自动化的系统来做一些分析和预警,将为决策者争取到更多时间。 +我们都知道股票交易非常依赖各类信息,一些有可能影响股票市场价格的信息经常首发于财经网站、微博、微信等社交媒体平台上。作为人类的我们不可能 24 小时一直监控各类媒体,如果有一个自动化的系统来做一些分析和预警,将为决策者争取到更多时间。 -假设我们有数只股票的交易数据流,我们可以通过这个数据流来计算以10秒为一个时间窗口的股票价格波动,选出那些超过5%变化幅度的股票,并将这些股票与媒体的实时文本数据做相关分析,以判断媒体上的哪些实时信息会影响股票价格。当相关分析的结果足够有说服力时,可以将这个系统部署到生产环境,实时处理股票与媒体数据,产生分析报表,并发送给交易人员。那么,如何构建一个可靠的程序来解决上述业务场景问题呢? +假设我们有数只股票的交易数据流,我们可以通过这个数据流来计算以 10 秒为一个时间窗口的股票价格波动,选出那些超过 5% 变化幅度的股票,并将这些股票与媒体的实时文本数据做相关分析,以判断媒体上的哪些实时信息会影响股票价格。当相关分析的结果足够有说服力时,可以将这个系统部署到生产环境,实时处理股票与媒体数据,产生分析报表,并发送给交易人员。那么,如何构建一个可靠的程序来解决上述业务场景问题呢? -### 2. 生产者-消费者模型 +### 2. 生产者 - 消费者模型 -处理流数据一般使用“生产者-消费者”(Producer-Consumer)模型来解决问题。如图1-6所示,生产者生成数据,将数据发送到一个缓存区域(Buffer),消费者从缓存区域中消费数据。这里我们暂且不关心生产者如何生产数据,以及数据如何缓存,我们只关心如何实现消费者。 +处理流数据一般使用 “生产者 - 消费者”(Producer-Consumer)模型来解决问题。如图 1-6 所示,生产者生成数据,将数据发送到一个缓存区域(Buffer),消费者从缓存区域中消费数据。这里我们暂且不关心生产者如何生产数据,以及数据如何缓存,我们只关心如何实现消费者。 -![图1-6 生产者-消费者模型](./img/producer-consumer.png) +![图 1-6 生产者 - 消费者模型](./img/producer-consumer.png) -在股票交易的场景中,我们可以启动一个进程来实现消费者,该进程以10秒为一个时间窗口,统计时间窗口内的交易情况,找到波动最大的那些股票。同时,该进程也对新流入的媒体文本进行分析。这个逻辑看起来很容易实现,但深挖之后会发现问题繁多。 +在股票交易的场景中,我们可以启动一个进程来实现消费者,该进程以 10 秒为一个时间窗口,统计时间窗口内的交易情况,找到波动最大的那些股票。同时,该进程也对新流入的媒体文本进行分析。这个逻辑看起来很容易实现,但深挖之后会发现问题繁多。 ### 3. 流处理框架要解决的诸多问题 #### (1) 可扩展性 -股票交易和媒体文本的数据量都非常大,仅以微博为例,平均每秒有上千条、每天有上亿条微博数据。一般情况下,单个节点无法处理这样规模的数据,这时候需要使用分布式计算。假如我们使用类似MPI的框架,需要手动设计分治算法,这对很多程序员来说有一定的挑战性。 +股票交易和媒体文本的数据量都非常大,仅以微博为例,平均每秒有上千条、每天有上亿条微博数据。一般情况下,单个节点无法处理这样规模的数据,这时候需要使用分布式计算。假如我们使用类似 MPI 的框架,需要手动设计分治算法,这对很多程序员来说有一定的挑战性。 随着数据不断增多,我们能否保证我们的程序能够快速扩展到更多的节点上,以应对更多的计算需求?具体而言,当计算需求增多时,计算资源能否线性增加而不是耗费大量的资源,程序的代码逻辑能否保持简单而不会变得极其复杂?一个具有可扩展性的系统必须能够优雅地解决这些问题。 @@ -57,8 +63,8 @@ #### (4) 时序错乱 -限于网络条件和其他各种潜在影响因素,流处理引擎处理某个事件的时间并不是事件本来发生的时间。比如,你想统计上午11:00:00到11:00:10的交易情况,然而发生在11:00:05的某项交易因网络延迟没能抵达,这时候要直接放弃这项交易吗?绝大多数情况下我们会让程序等待,比如我们会假设数据最晚不会延迟超过10分钟,因此程序会等待10分钟。等待一次也还能接受,但是如果有多个节点在并行处理呢?每个节点等待一段时间,最后做数据聚合时就要等待更长时间。 +限于网络条件和其他各种潜在影响因素,流处理引擎处理某个事件的时间并不是事件本来发生的时间。比如,你想统计上午 11:00:00 到 11:00:10 的交易情况,然而发生在 11:00:05 的某项交易因网络延迟没能抵达,这时候要直接放弃这项交易吗?绝大多数情况下我们会让程序等待,比如我们会假设数据最晚不会延迟超过 10 分钟,因此程序会等待 10 分钟。等待一次也还能接受,但是如果有多个节点在并行处理呢?每个节点等待一段时间,最后做数据聚合时就要等待更长时间。 批处理框架一般处理一个较长时间段内的数据,数据的时序性对其影响较小。批处理框架用更长的时间来换取更好的准确性。流处理框架对时序错乱更为敏感,框架的复杂程度也因此大大增加。 -Flink是解决上述问题的最佳选择之一。如果用Flink去解决前文提到的股票建模问题,只需要设置时间窗口,并在这个时间窗口下做一些数据处理的操作,还可以根据数据量来设置由多少节点并行处理。 +Flink 是解决上述问题的最佳选择之一。如果用 Flink 去解决前文提到的股票建模问题,只需要设置时间窗口,并在这个时间窗口下做一些数据处理的操作,还可以根据数据量来设置由多少节点并行处理。 diff --git a/doc/ch-big-data-intro/bigdata.md b/doc/ch-big-data-intro/bigdata.md index 50b1edd..9e5c5e8 100644 --- a/doc/ch-big-data-intro/bigdata.md +++ b/doc/ch-big-data-intro/bigdata.md @@ -1,64 +1,70 @@ (bigdata)= # 什么是大数据 -## 1.1.1 大数据的5个“V” +## 大数据的 5 个 “V” -大数据,顾名思义,就是拥有庞大体量的数据。关于什么是大数据、如何定义大数据、如何使用大数据等一系列问题,拥有不同领域背景的读者的理解各不相同。通常,业界将大数据的特点归纳为图1-1所示的5个“V”。 +大数据,顾名思义,就是拥有庞大体量的数据。关于什么是大数据、如何定义大数据、如何使用大数据等一系列问题,拥有不同领域背景的读者的理解各不相同。通常,业界将大数据的特点归纳为 {numref}`5v` 所示的 5 个 “V”。 -![图1-1 大数据的5个"V"](./img/5V.png) +```{figure} ./img/5V.png +--- +width: 60% +name: 5v +--- +大数据的 5 个 "V" +``` -- **Volume**:指数据量大。数据量单位从TB(1 024 GB)、PB(1 024 TB)、EB(1 024 PB)、ZB(1 024 EB)甚至到YB(1 024 ZB)。纽约证券交易所每天产生的交易数据大约在TB级,瑞士日内瓦附近的大型强子对撞机每年产生的数据约为PB级,而目前全球数据总量已经在ZB级,相当于1 000 000 PB。基于更大规模的数据,我们可以对某个研究对象的历史、现状和未来有更加全面的了解。 +- **Volume**:指数据量大。数据量单位从 TB(1 024 GB)、PB(1 024 TB)、EB(1 024 PB)、ZB(1 024 EB)甚至到 YB(1 024 ZB)。纽约证券交易所每天产生的交易数据大约在 TB 级,瑞士日内瓦附近的大型强子对撞机每年产生的数据约为 PB 级,而目前全球数据总量已经在 ZB 级,相当于 1 000 000 PB。基于更大规模的数据,我们可以对某个研究对象的历史、现状和未来有更加全面的了解。 - **Velocity**:指数据产生速度快。数据要求的处理速度更快和时效性更强,因为时间就是金钱。金融市场的交易数据必须以秒级的速度进行处理,搜索和推荐引擎需要以分钟级速度将实时新闻推送给用户。更快的数据处理速度可让我们基于最新的数据做出更加实时的决策。 -- **Variety**:指数据类型繁多。数据可以是数字、文字、图片、视频等不同的形式,数据源可能是社交网络、视频网站、可穿戴设备以及各类传感器。数据可能是Excel表格等高度结构化的数据,也可能是图片和视频等非结构化的数据。 +- **Variety**:指数据类型繁多。数据可以是数字、文字、图片、视频等不同的形式,数据源可能是社交网络、视频网站、可穿戴设备以及各类传感器。数据可能是 Excel 表格等高度结构化的数据,也可能是图片和视频等非结构化的数据。 - **Veracity**:指数据真实性。一方面,数据并非天然具有高价值,一些异常值会被掺杂进来,例如,统计偏差、人的情感因素、天气因素、经济因素甚至谎报数据等导致的异常值。另一方面,数据源类型不同,如何将来自多样的数据源的多元异构数据连接、匹配、清洗和转化,最终形成具有真实性的数据是一项非常有挑战性的工作。 - **Value**:指数据价值。大数据已经推动了世界的方方面面的发展,从商业、科技到医疗、教育、经济、人文等社会的各个领域,我们研究和利用大数据的最终目的是挖掘数据背后的深层价值。 在数据分析领域,全部研究对象被称为总体(Population),总体包含大量的数据,数据甚至可能是无限的。很多情况下,我们无法保证能收集和分析总体的所有数据,因此研究者一般基于全部研究对象的一个子集进行数据分析。样本(Sample)是从总体中抽取的个体,是全部研究对象的子集。通过对样本的调查和分析,研究者可以推测总体的情况。比如调查某个群体的金融诚信情况,群体内所有人是总体,我们可以抽取一部分个体作为样本,以此推测群体的金融诚信水平。 -在大数据技术成熟之前,受限于数据收集、存储和分析能力,样本数量相对较小。大数据技术的成熟让数据存储和计算能力不再是瓶颈,研究者可以在更大规模的数据上,以更快的速度进行数据分析。但数据并非天然有价值,如何对数据“点石成金”非常有挑战性。在金融诚信调查中,如果我们直接询问样本对象,“你是否谎报了家庭资产以获取更大的金融借贷额度?”十之八九,我们得不到真实的答案,但我们可以结合多种渠道的数据来分析该问题,比如结合样本对象的工作经历、征信记录等数据。 +在大数据技术成熟之前,受限于数据收集、存储和分析能力,样本数量相对较小。大数据技术的成熟让数据存储和计算能力不再是瓶颈,研究者可以在更大规模的数据上,以更快的速度进行数据分析。但数据并非天然有价值,如何对数据 “点石成金” 非常有挑战性。在金融诚信调查中,如果我们直接询问样本对象,“你是否谎报了家庭资产以获取更大的金融借贷额度?”十之八九,我们得不到真实的答案,但我们可以结合多种渠道的数据来分析该问题,比如结合样本对象的工作经历、征信记录等数据。 大数据具有更大的数据量、更快的速度、更多的数据类型等特点。在一定的数据真实性基础上,大数据技术最终要为数据背后的价值服务。 -随着大数据技术的发展,数据的复杂性越来越高,有人在这5个“V”的基础上,又提出了一些补充内容,比如增加了动态性(Vitality),强调整个数据体系的动态性;增加了可视性(Visualization),强调数据的显性化展现;增加了合法性(Validity),强调数据采集和应用的合法性,特别是对于个人隐私数据的合理使用等;增加了数据在线(Online),强调数据永远在线,能随时被调用和计算。 +随着大数据技术的发展,数据的复杂性越来越高,有人在这 5 个 “V” 的基础上,又提出了一些补充内容,比如增加了动态性(Vitality),强调整个数据体系的动态性;增加了可视性(Visualization),强调数据的显性化展现;增加了合法性(Validity),强调数据采集和应用的合法性,特别是对于个人隐私数据的合理使用等;增加了数据在线(Online),强调数据永远在线,能随时被调用和计算。 -## 1.1.2 大数据分而治之 +## 大数据分而治之 计算机诞生之后,一般是在单台计算机上处理数据。大数据时代到来后,一些传统的数据处理方法无法满足大数据的处理需求。将一组计算机组织到一起形成一个集群,利用集群的力量来处理大数据的工程实践逐渐成为主流。这种使用集群进行计算的方式被称为分布式计算,当前几乎所有的大数据系统都在使用集群进行分布式计算。 -分布式计算的概念听起来很高深,其背后的思想却十分朴素,即分而治之,又称为分治法(Divide and Conquer)。如图1-2所示,分治法是指将一个原始问题分解为多个子问题,多个子问题分别在多台计算机上求解,借助必要的数据交换和合并策略,将子结果汇总即可求出最终结果的方法。具体而言,不同的分布式系统使用的算法和策略根据所要解决的问题各有不同,但基本上都是将计算拆分,把子问题放到多台计算机上,分而治之地计算求解。分布式计算的每台计算机(物理机或虚拟机)又被称为一个节点。 +分布式计算的概念听起来很高深,其背后的思想却十分朴素,即分而治之,又称为分治法(Divide and Conquer)。如图 1-2 所示,分治法是指将一个原始问题分解为多个子问题,多个子问题分别在多台计算机上求解,借助必要的数据交换和合并策略,将子结果汇总即可求出最终结果的方法。具体而言,不同的分布式系统使用的算法和策略根据所要解决的问题各有不同,但基本上都是将计算拆分,把子问题放到多台计算机上,分而治之地计算求解。分布式计算的每台计算机(物理机或虚拟机)又被称为一个节点。 -![图1-2 分治法](./img/divide-conquer.png) +![图 1-2 分治法](./img/divide-conquer.png) 分布式计算已经有很多比较成熟的方案,其中比较有名的有消息传递接口(Message Passing Interface,MPI)和映射归约模型(MapReduce)。 ### 1. MPI -MPI是一个“老牌”分布式计算框架,从MPI这个名字也可以看出,MPI主要解决节点间数据通信的问题。在前MapReduce时代,MPI是分布式计算的业界标准。MPI现在依然广泛运用于全球各大超级计算中心、大学、研究机构中,许多物理、生物、化学、能源等基础学科的大规模分布式计算都依赖MPI。图1-3所示为使用MPI在4台服务器上并行计算的示意图。 +MPI 是一个 “老牌” 分布式计算框架,从 MPI 这个名字也可以看出,MPI 主要解决节点间数据通信的问题。在前 MapReduce 时代,MPI 是分布式计算的业界标准。MPI 现在依然广泛运用于全球各大超级计算中心、大学、研究机构中,许多物理、生物、化学、能源等基础学科的大规模分布式计算都依赖 MPI。图 1-3 所示为使用 MPI 在 4 台服务器上并行计算的示意图。 -![图1-3 在4台服务器上使用MPI进行并行计算](./img/mpi.png) +![图 1-3 在 4 台服务器上使用 MPI 进行并行计算](./img/mpi.png) -使用MPI编程,需要使用分治法将问题分解成子问题,在不同节点上分而治之地求解。MPI提供了一个在多进程、多节点间进行数据通信的方案,因为绝大多数情况下,在中间求解和最终汇总的过程中,需要对多个节点上的数据进行交换和同步。 +使用 MPI 编程,需要使用分治法将问题分解成子问题,在不同节点上分而治之地求解。MPI 提供了一个在多进程、多节点间进行数据通信的方案,因为绝大多数情况下,在中间求解和最终汇总的过程中,需要对多个节点上的数据进行交换和同步。 -MPI中最重要的两个操作为数据发送和数据接收,数据发送表示将本进程中某些数据发送给其他进程,数据接收表示接收其他进程的数据。在实际的代码开发过程中,程序员需要自行设计分治算法,将复杂问题分解为子问题,手动调用MPI库,将数据发送给指定的进程。 +MPI 中最重要的两个操作为数据发送和数据接收,数据发送表示将本进程中某些数据发送给其他进程,数据接收表示接收其他进程的数据。在实际的代码开发过程中,程序员需要自行设计分治算法,将复杂问题分解为子问题,手动调用 MPI 库,将数据发送给指定的进程。 -MPI能够以很细的粒度控制数据的通信,这是它的优势,从某些方面而言这也是它的劣势,因为细粒度的控制意味着从分治算法设计、数据通信到结果汇总都需要程序员手动控制。有经验的程序员可以对程序进行底层优化,取得成倍的速度提升。但如果程序员对计算机分布式系统没有太多经验,编码、调试和运行MPI程序的时间成本极高,加上数据在不同节点上分布不均衡和通信延迟等问题,一个节点进程失败将会导致整个程序失败。因此,MPI对大部分程序员来说简直就是“噩梦”。 +MPI 能够以很细的粒度控制数据的通信,这是它的优势,从某些方面而言这也是它的劣势,因为细粒度的控制意味着从分治算法设计、数据通信到结果汇总都需要程序员手动控制。有经验的程序员可以对程序进行底层优化,取得成倍的速度提升。但如果程序员对计算机分布式系统没有太多经验,编码、调试和运行 MPI 程序的时间成本极高,加上数据在不同节点上分布不均衡和通信延迟等问题,一个节点进程失败将会导致整个程序失败。因此,MPI 对大部分程序员来说简直就是 “噩梦”。 -并非所有的程序员都能熟练掌握MPI编程,衡量一个程序的时间成本,不仅要考虑程序运行的时间,也要考虑程序员学习、开发和调试的时间。就像C语言运算速度极快,但是Python却更受欢迎一样,MPI虽然能提供极快的分布式计算速度,但不太接地气。 +并非所有的程序员都能熟练掌握 MPI 编程,衡量一个程序的时间成本,不仅要考虑程序运行的时间,也要考虑程序员学习、开发和调试的时间。就像 C 语言运算速度极快,但是 Python 却更受欢迎一样,MPI 虽然能提供极快的分布式计算速度,但不太接地气。 ### 2. MapReduce -为了解决分布式计算学习和使用成本高的问题,研究人员开发出了更简单易用的MapReduce编程模型。MapReduce是Google于2004年推出的一种编程模型,与MPI将所有事情交给程序员控制不同,MapReduce编程模型只需要程序员定义两个操作:Map和Reduce。 +为了解决分布式计算学习和使用成本高的问题,研究人员开发出了更简单易用的 MapReduce 编程模型。MapReduce 是 Google 于 2004 年推出的一种编程模型,与 MPI 将所有事情交给程序员控制不同,MapReduce 编程模型只需要程序员定义两个操作:Map 和 Reduce。 -比起MPI,MapReduce编程模型将更多的中间过程做了封装,程序员只需要将原始问题转化为更高层次的应用程序接口(Application Programming Interface,API),至于原始问题如何分解为更小的子问题、中间数据如何传输和交换、如何将计算扩展到多个节点等一系列细节问题可以交给大数据编程模型来解决。因此,MapReduce相对来说学习门槛更低,使用更方便,编程开发速度更快。 +比起 MPI,MapReduce 编程模型将更多的中间过程做了封装,程序员只需要将原始问题转化为更高层次的应用程序接口(Application Programming Interface,API),至于原始问题如何分解为更小的子问题、中间数据如何传输和交换、如何将计算扩展到多个节点等一系列细节问题可以交给大数据编程模型来解决。因此,MapReduce 相对来说学习门槛更低,使用更方便,编程开发速度更快。 -图1-4所示为使用MapReduce思想制作三明治的过程,读者可以通过这幅图更好的理解MapReduce。 +图 1-4 所示为使用 MapReduce 思想制作三明治的过程,读者可以通过这幅图更好的理解 MapReduce。 -假设我们需要大批量地制作三明治,三明治的每种食材可以分别单独处理,Map阶段将原材料在不同的节点上分别进行处理,生成一些中间食材,Shuffle/Group阶段将不同的中间食材进行组合,Reduce阶段最终将一组中间食材组合成三明治成品。可以看到,这种Map + Shuffle/Group + Reduce的方式就是分治法的一种实现。 +假设我们需要大批量地制作三明治,三明治的每种食材可以分别单独处理,Map 阶段将原材料在不同的节点上分别进行处理,生成一些中间食材,Shuffle/Group 阶段将不同的中间食材进行组合,Reduce 阶段最终将一组中间食材组合成三明治成品。可以看到,这种 Map + Shuffle/Group + Reduce 的方式就是分治法的一种实现。 -![图1-4 使用MapReduce制作三明治的过程](./img/mapreduce-sandwichs.jpeg) +![图 1-4 使用 MapReduce 制作三明治的过程](./img/mapreduce-sandwichs.jpeg) -基于MapReduce编程模型,不同的团队分别实现了自己的大数据框架:Hadoop是较早的一种开源实现,如今已经成为大数据领域的业界标杆,之后又出现了Spark和Flink。这些框架提供了编程接口,辅助程序员存储、处理和分析大数据。 +基于 MapReduce 编程模型,不同的团队分别实现了自己的大数据框架:Hadoop 是较早的一种开源实现,如今已经成为大数据领域的业界标杆,之后又出现了 Spark 和 Flink。这些框架提供了编程接口,辅助程序员存储、处理和分析大数据。 -1.1.1 小节介绍了大数据的5个“V”特点,1.1.2 小节介绍了大数据的分治法。面对海量数据和各不相同的业务逻辑,我们很难使用一种技术或一套方案来解决各类大数据问题。比如,电商平台和视频网站的大数据架构会略有不同。实际上,大数据技术是一整套方案,包括存储、计算和提供在线服务等多个重要部分,而且与数据形态、业务逻辑、提供何种价值等多方面的因素有关。 +1.1.1 小节介绍了大数据的 5 个 “V” 特点,1.1.2 小节介绍了大数据的分治法。面对海量数据和各不相同的业务逻辑,我们很难使用一种技术或一套方案来解决各类大数据问题。比如,电商平台和视频网站的大数据架构会略有不同。实际上,大数据技术是一整套方案,包括存储、计算和提供在线服务等多个重要部分,而且与数据形态、业务逻辑、提供何种价值等多方面的因素有关。 与大数据有关联的组件众多、技术各有不同,限于本书主题和编者能力,无法一一阐述,本书主要从计算层面来介绍大数据的分析和处理方法。 diff --git a/doc/ch-big-data-intro/evolution-of-big-data-processing-platforms.md b/doc/ch-big-data-intro/evolution.md similarity index 99% rename from doc/ch-big-data-intro/evolution-of-big-data-processing-platforms.md rename to doc/ch-big-data-intro/evolution.md index 5886aef..fe11f16 100644 --- a/doc/ch-big-data-intro/evolution-of-big-data-processing-platforms.md +++ b/doc/ch-big-data-intro/evolution.md @@ -1,4 +1,4 @@ -(evolution-of-big-data-processing-platforms)= +(evolution)= # 从Lambda到Kappa:大数据处理平台的演进 前文已经提到,流处理框架经历了3代的更新迭代,大数据处理也随之经历了从Lambda架构到Kappa架构的演进。本节以电商平台的数据分析为例,来解释大数据处理平台如何支持企业在线服务。电商平台会将用户在App或网页的搜索、点击和购买行为以日志的形式记录下来,用户的各类行为形成了一个实时数据流,我们称之为用户行为日志。 diff --git a/doc/ch-big-data-intro/exercise-building-data-stream-using-Kafka.md b/doc/ch-big-data-intro/exercise-building-data-stream-using-Kafka.md deleted file mode 100644 index e7c88ad..0000000 --- a/doc/ch-big-data-intro/exercise-building-data-stream-using-Kafka.md +++ /dev/null @@ -1,109 +0,0 @@ -(exercise-building-data-stream-using-Kafka)= -# 案例实战:使用Kafka构建文本数据流 - -尽管本书主题是Flink,但是对数据流的整个生命周期有一个更全面的认识有助于我们理解大数据和流处理。1.3.3小节简单介绍了Kafka这项技术,本节将介绍如何使用Kafka构建实时文本数据流,读者可以通过本节了解数据流管道的大致结构:数据生产者源源不断地生成数据流,数据流通过消息队列投递,数据消费者异步地对数据流进行处理。 - -## 1.7.1 Kafka和消息队列相关背景知识 - -### 1. 消息队列的功能 - -消息队列一般使用图1-6所示的“生产者-消费者”模型来解决问题:生产者生成数据,将数据发送到一个缓存区域,消费者从缓存区域中消费数据。消息队列可以解决以下问题: - -- **系统解耦**:很多企业内部有众多系统,一个App也包含众多模块,如果将所有的系统和模块都放在一起作为一个庞大的系统来开发,未来则会很难维护和扩展。如果将各个模块独立出来,模块之间通过消息队列来通信,未来可以轻松扩展每个独立模块。另外,假设没有消息队列,M个生产者和N个消费者通信,会产生M×N个数据管道,消息队列将这个复杂度降到了M+N。 -- **异步处理**:同步是指如果模块A向模块B发送消息,必须等待返回结果后才能执行接下来的业务逻辑。异步是消息发送方模块A无须等待返回结果即可继续执行,只需要向消息队列中发送消息,至于谁去处理这些消息、消息等待多长时间才能被处理等一系列问题,都由消费者负责。异步处理更像是发布通知,发送方不用关心谁去接收通知、如何对通知做出响应等问题。 -- **流量削峰**:电商促销、抢票等场景会对系统造成巨大的压力,瞬时请求暴涨,消息队列的缓存就像一个蓄水池,以很低的成本将上游的洪峰缓存起来,下游的数据处理模块按照自身处理能力从缓存中拉取数据,避免数据处理模块崩溃。 -- **数据冗余**:很多情况下,下游的数据处理模块可能发生故障,消息队列将数据缓存起来,直到数据被处理,一定程度上避免了数据丢失风险。 - -Kafka作为一个消息队列,主要提供如下3种核心能力: - -- 为数据的生产者提供发布功能,为数据的消费者提供订阅功能,即传统的消息队列的能力。 -- 将数据流缓存在缓存区域,为数据提供容错性,有一定的数据存储能力。 -- 提供了一些轻量级流处理能力。 - -可见Kafka不仅是一个消息队列,也有数据存储和流处理的功能,确切地说,Kafka是一个流处理系统。 - -### 2. Kafka的一些核心概念 - -Kafka涉及不少概念,包括Topic、Producer、Consumer等,这里从Flink流处理的角度出发,只对与流处理关系密切的核心概念做简单介绍。 - -- **Topic**:Kafka按照Topic来区分不同的数据。以淘宝这样的电商平台为例,某个Topic发布买家用户在电商平台的行为日志,比如搜索、点击、聊天、购买等行为;另外一个Topic发布卖家用户在电商平台上的行为日志,比如上新、发货、退货等行为。 -- **Producer**:多个Producer将某份数据发布到某个Topic下。比如电商平台的多台线上服务器将买家行为日志发送到名为user_behavior的Topic下。 -- **Consumer**:多个Consumer被分为一组,名为Consumer Group,一组Consumer Group订阅一个Topic下的数据。通常我们可以使用Flink编写的程序作为Kafka的Consumer来对一个数据流做处理。 - -## 1.7.2 使用Kafka构建一个文本数据流 - -### 1. 下载和安装 - -如前文所述,绝大多数的大数据框架基于Java,因此在进行开发之前要先搭建Java编程环境,主要是下载和配置Java开发工具包(Java Development Kit,JDK)。网络上针对不同操作系统的相关教程已经很多,这里不赘述。 - -从Kafka官网下载二进制文件形式的软件包,软件包扩展名为 .tgz。Windows用户可以使用7Zip或WinRAR软件解压 .tgz文件,Linux和macOS用户需要使用命令行工具,进入该下载目录。 - -```bash -$ tar -xzf kafka_2.12-2.3.0.tgz -$ cd kafka_2.12-2.3.0 -``` - -**注意**: - -`$`符号表示该行命令在类UNIX操作系统(macOS和Linux)命令行中执行,而不是在Python交互命令界面或其他任何交互界面中。Windows的命令行提示符是大于号`>`。 - -解压之后的文件中,`bin`目录默认为Linux和macOS设计。Windows用户要进入`bin\windows\`来启动相应脚本,且脚本文件扩展名要改为`.bat`。 - -### 2. 启动服务 - -Kafka使用ZooKeeper来管理集群,因此需要先启动ZooKeeper。刚刚下载的Kafka包里已经包含了ZooKeeper的启动脚本,可以使用这个脚本快速启动一个ZooKeeper服务。 - -```bash -$ bin/zookeeper-server-start.sh config/zookeeper.properties -``` - -启动成功后,对应日志将被输出到屏幕上。 - -接下来再开启一个命令行会话,启动Kafka: - -```bash -$ bin/kafka-server-start.sh config/server.properties -``` - -以上两个操作均使用`config`文件夹下的默认配置文件,需要注意配置文件的路径是否写错。生产环境中的配置文件比默认配置文件复杂得多。 - -### 3. 创建Topic - -开启一个命令行会话,创建一个名为`Shakespeare`的Topic: - -```bash -$ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic Shakespeare -``` - -也可以使用命令查看已有的Topic: - -```bash -$ bin/kafka-topics.sh --list --bootstrap-server localhost:9092 -Shakespeare -``` - -### 4. 发送消息 - -接下来我们模拟 Producer,假设这个 Producer 是莎士比亚(Shakespeare)本人,它不断向“Shakespeare”这个Topic发送自己的最新作品: - -```bash -$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Shakespeare ->To be, or not to be, that is the question: -``` - -每一行作为一条消息事件,被发送到了Kafka集群上,虽然这个集群只有本机这一台服务器。 - -### 5. 消费数据 - -另外一些人想了解莎士比亚向Kafka发送过哪些新作,所以需要使用一个Consumer来消费刚刚发送的数据。我们开启一个命令行会话来模拟Consumer: - -```bash -$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Shakespeare --from-beginning -To be, or not to be, that is the question: -``` - -Producer端和Consumer端在不同的命令行会话中,我们可以在Producer端的命令行会话里不断输入一些文本。切换到Consumer端后,可以看到相应的文本被发送了过来。 - -至此,我们模拟了一个实时数据流数据管道:不同人可以创建Topic,发布属于自己的内容;其他人可以订阅一个或多个Topic,根据需求设计后续处理逻辑。 - -使用Flink做流处理时,我们很可能以消息队列作为输入数据源,进行一定处理后,再输出到消息队列、数据库或其他组件上。 diff --git a/doc/ch-big-data-intro/exercise-stream-with-kafka.md b/doc/ch-big-data-intro/exercise-stream-with-kafka.md new file mode 100644 index 0000000..9032738 --- /dev/null +++ b/doc/ch-big-data-intro/exercise-stream-with-kafka.md @@ -0,0 +1,109 @@ +(exercise-stream-with-kafka)= +# 案例实战:使用 Kafka 构建文本数据流 + +尽管本书主题是 Flink,但是对数据流的整个生命周期有一个更全面的认识有助于我们理解大数据和流处理。{numref}`technologies` 简单介绍了 Kafka 这项技术,本节将介绍如何使用 Kafka 构建实时文本数据流,读者可以通过本节了解数据流管道的大致结构:数据生产者源源不断地生成数据流,数据流通过消息队列投递,数据消费者异步地对数据流进行处理。 + +## 1.7.1 Kafka 和消息队列相关背景知识 + +### 1. 消息队列的功能 + +消息队列一般使用图 1-6 所示的 “生产者 - 消费者” 模型来解决问题:生产者生成数据,将数据发送到一个缓存区域,消费者从缓存区域中消费数据。消息队列可以解决以下问题: + +- ** 系统解耦 **:很多企业内部有众多系统,一个 App 也包含众多模块,如果将所有的系统和模块都放在一起作为一个庞大的系统来开发,未来则会很难维护和扩展。如果将各个模块独立出来,模块之间通过消息队列来通信,未来可以轻松扩展每个独立模块。另外,假设没有消息队列,M 个生产者和 N 个消费者通信,会产生 M×N 个数据管道,消息队列将这个复杂度降到了 M+N。 +- ** 异步处理 **:同步是指如果模块 A 向模块 B 发送消息,必须等待返回结果后才能执行接下来的业务逻辑。异步是消息发送方模块 A 无须等待返回结果即可继续执行,只需要向消息队列中发送消息,至于谁去处理这些消息、消息等待多长时间才能被处理等一系列问题,都由消费者负责。异步处理更像是发布通知,发送方不用关心谁去接收通知、如何对通知做出响应等问题。 +- ** 流量削峰 **:电商促销、抢票等场景会对系统造成巨大的压力,瞬时请求暴涨,消息队列的缓存就像一个蓄水池,以很低的成本将上游的洪峰缓存起来,下游的数据处理模块按照自身处理能力从缓存中拉取数据,避免数据处理模块崩溃。 +- ** 数据冗余 **:很多情况下,下游的数据处理模块可能发生故障,消息队列将数据缓存起来,直到数据被处理,一定程度上避免了数据丢失风险。 + +Kafka 作为一个消息队列,主要提供如下 3 种核心能力: + +- 为数据的生产者提供发布功能,为数据的消费者提供订阅功能,即传统的消息队列的能力。 +- 将数据流缓存在缓存区域,为数据提供容错性,有一定的数据存储能力。 +- 提供了一些轻量级流处理能力。 + +可见 Kafka 不仅是一个消息队列,也有数据存储和流处理的功能,确切地说,Kafka 是一个流处理系统。 + +### 2. Kafka 的一些核心概念 + +Kafka 涉及不少概念,包括 Topic、Producer、Consumer 等,这里从 Flink 流处理的角度出发,只对与流处理关系密切的核心概念做简单介绍。 + +- **Topic**:Kafka 按照 Topic 来区分不同的数据。以淘宝这样的电商平台为例,某个 Topic 发布买家用户在电商平台的行为日志,比如搜索、点击、聊天、购买等行为;另外一个 Topic 发布卖家用户在电商平台上的行为日志,比如上新、发货、退货等行为。 +- **Producer**:多个 Producer 将某份数据发布到某个 Topic 下。比如电商平台的多台线上服务器将买家行为日志发送到名为 user_behavior 的 Topic 下。 +- **Consumer**:多个 Consumer 被分为一组,名为 Consumer Group,一组 Consumer Group 订阅一个 Topic 下的数据。通常我们可以使用 Flink 编写的程序作为 Kafka 的 Consumer 来对一个数据流做处理。 + +## 1.7.2 使用 Kafka 构建一个文本数据流 + +### 1. 下载和安装 + +如前文所述,绝大多数的大数据框架基于 Java,因此在进行开发之前要先搭建 Java 编程环境,主要是下载和配置 Java 开发工具包(Java Development Kit,JDK)。网络上针对不同操作系统的相关教程已经很多,这里不赘述。 + +从 Kafka 官网下载二进制文件形式的软件包,软件包扩展名为 .tgz。Windows 用户可以使用 7Zip 或 WinRAR 软件解压 .tgz 文件,Linux 和 macOS 用户需要使用命令行工具,进入该下载目录。 + +```bash +$ tar -xzf kafka_2.12-2.3.0.tgz +$ cd kafka_2.12-2.3.0 +``` + +** 注意 **: + +`$` 符号表示该行命令在类 UNIX 操作系统(macOS 和 Linux)命令行中执行,而不是在 Python 交互命令界面或其他任何交互界面中。Windows 的命令行提示符是大于号 `>`。 + +解压之后的文件中,`bin` 目录默认为 Linux 和 macOS 设计。Windows 用户要进入 `bin\windows\` 来启动相应脚本,且脚本文件扩展名要改为 `.bat`。 + +### 2. 启动服务 + +Kafka 使用 ZooKeeper 来管理集群,因此需要先启动 ZooKeeper。刚刚下载的 Kafka 包里已经包含了 ZooKeeper 的启动脚本,可以使用这个脚本快速启动一个 ZooKeeper 服务。 + +```bash +$ bin/zookeeper-server-start.sh config/zookeeper.properties +``` + +启动成功后,对应日志将被输出到屏幕上。 + +接下来再开启一个命令行会话,启动 Kafka: + +```bash +$ bin/kafka-server-start.sh config/server.properties +``` + +以上两个操作均使用 `config` 文件夹下的默认配置文件,需要注意配置文件的路径是否写错。生产环境中的配置文件比默认配置文件复杂得多。 + +### 3. 创建 Topic + +开启一个命令行会话,创建一个名为 `Shakespeare` 的 Topic: + +```bash +$ bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic Shakespeare +``` + +也可以使用命令查看已有的 Topic: + +```bash +$ bin/kafka-topics.sh --list --bootstrap-server localhost:9092 +Shakespeare +``` + +### 4. 发送消息 + +接下来我们模拟 Producer,假设这个 Producer 是莎士比亚(Shakespeare)本人,它不断向 “Shakespeare” 这个 Topic 发送自己的最新作品: + +```bash +$ bin/kafka-console-producer.sh --broker-list localhost:9092 --topic Shakespeare +>To be, or not to be, that is the question: +``` + +每一行作为一条消息事件,被发送到了 Kafka 集群上,虽然这个集群只有本机这一台服务器。 + +### 5. 消费数据 + +另外一些人想了解莎士比亚向 Kafka 发送过哪些新作,所以需要使用一个 Consumer 来消费刚刚发送的数据。我们开启一个命令行会话来模拟 Consumer: + +```bash +$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic Shakespeare --from-beginning +To be, or not to be, that is the question: +``` + +Producer 端和 Consumer 端在不同的命令行会话中,我们可以在 Producer 端的命令行会话里不断输入一些文本。切换到 Consumer 端后,可以看到相应的文本被发送了过来。 + +至此,我们模拟了一个实时数据流数据管道:不同人可以创建 Topic,发布属于自己的内容;其他人可以订阅一个或多个 Topic,根据需求设计后续处理逻辑。 + +使用 Flink 做流处理时,我们很可能以消息队列作为输入数据源,进行一定处理后,再输出到消息队列、数据库或其他组件上。 diff --git a/doc/ch-big-data-intro/img/three-type-window.png b/doc/ch-big-data-intro/img/three-type-window.png new file mode 100644 index 0000000000000000000000000000000000000000..e606084af8fcc4ab5e883fbeaccc5737d123079e GIT binary patch literal 148168 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¨QS<&pdrL^oAq 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