产品特色
编辑推荐
大数据专家张良均领衔畅销书作者团队,教育部长江学者特聘教授、国家杰出青年基金获得者、IEEE Fellow、华南理工大学计算机与工程学院院长张军倾力推荐。
本书采用了以任务为导向的教学模式,按照解决实际任务的工作流程路线,逐步展开介绍相关的理论知识点,推导生成可行的解决方案,落实在任务实现环节。
全书大部分章节紧扣任务需求展开,不堆积知识点,着重于解决问题时思路的启发与方案的实施。通过从任务需求到实现这一完整工作流程的体验,帮助读者真正理解与消化Hadoop大数据技术。
书中案例全部源于企业真实项目,可操作性强,引导读者融会贯通,并提供源代码等相关学习资源,帮助读者快速掌握大数据相关技能。
内容简介
本书以任务为导向,较为全面地介绍了Hadoop大数据技术的相关知识。全书共6章,具体内容包括Hadoop介绍、Hadoop集群的搭建及配置、Hadoop基础操作、MapReduce编程入门、MapReduce进阶编程、项目案例:电影网站用户性别预测。本书的2~5章包含了实训与课后练习,通过练习和操作实践,帮助读者巩固所学的内容。
本书可以作为高校大数据技术类专业的教材,也可作为大数据技术爱好者的自学用书。
作者简介
张良均,高 级信息系统项目管理师,泰迪杯全国大学生数据挖掘竞赛(www.tipdm.org)发起人。华南师范大学、广东工业大学兼职教授,广东省工业与应用数学学会理事。兼有大型高科技企业和高校的工作经历,主要从事大数据挖掘及其应用的策划、研发及咨询培训。全国计算机技术与软件专业技术资格(水平)考试继续教育和CDA数据分析师培训讲师。发表数据挖掘相关论文数二十余篇,已取得国家发明专利12项,主编《Hadoop大数据分析与挖掘实战》《Python数据分析与挖掘实战》《R语言数据分析与挖掘实战》等多本畅销图书,主持并完成科技项目9项。获得SAS、SPSS数据挖掘认证及Hadoop开发工程师证书,具有电力、电信、银行、制造企业、电子商务和电子政务的项目经验和行业背景。
目录
一章 Hadoop介绍 1
1.1 Hadoop概述 1
1.1.1 Hadoop简介 1
1.1.2 Hadoop的发展历史 2
1.1.3 Hadoop的特点 3
1.2 Hadoop核心 4
1.2.1 分布式文件系统——HDFS 4
1.2.2 分布式计算框架——MapReduce 7
1.2.3 集群资源管理器——YARN 9
1.3 Hadoop生态系统 12
1.4 Hadoop应用场景 14
小结 15
二章 Hadoop集群的搭建及配置 16
任务2.1 安装及配置虚拟机 17
2.1.1 创建Linux虚拟机 17
2.1.2 设置固定IP 25
2.1.3 远程连接虚拟机 27
2.1.4 虚拟机在线安装软件 29
2.1.5 任务实现 32
任务2.2 安装Java 32
2.2.1 在Windows下安装Java 33
2.2.2 在Linux下安装Java 35
2.2.3 任务实现 36
任务2.3 搭建Hadoop完全分布式集群 36
2.3.1 修改配置文件 36
2.3.2 克隆虚拟机 41
2.3.3 配置SSH免密码登录 43
2.3.4 配置时间同步服务 44
2.3.5 启动关闭集群 46
2.3.6 监控集群 47
小结 50
实训 50
实训1 为Hadoop集群增加一个节点 50
实训2 编写Shell脚本同步集群时间 51
课后练习 51
第3章 Hadoop基础操作 53
任务3.1 查看Hadoop集群的基本信息 54
3.1.1 查询集群的存储系统信息 55
3.1.2 查询集群的计算资源信息 58
任务3.2 上传文件到HDFS目录 59
3.2.1 了解HDFS文件系统 59
3.2.2 掌握HDFS的基本操作 62
3.2.3 任务实现 65
任务3.3 运行MapReduce任务 67
3.3.1 了解Hadoop官方的示例程序包 67
3.3.2 提交MapReduce任务给集群运行 68
任务3.4 管理多个MapReduce任务 71
3.4.1 查询MapReduce任务 72
3.4.2 中断MapReduce任务 74
小结 76
实训 77
实训1 统计文件中所有单词的平均长度 77
实训2 查询与中断MapReduce任务 77
课后练习 78
第4章 MapReduce编程入门 80
任务4.1 使用Eclipse创建MapReduce工程 81
4.1.1 下载与安装Eclipse 81
4.1.2 配置MapReduce环境 82
4.1.3 新建MapReduce工程 84
任务4.2 通过源码初识MapReduce编程 86
4.2.1 通俗理解MapReduce原理 86
4.2.2 了解MR实现词频统计的执行流程 88
4.2.3 读懂官方提供的WordCount源码 89
任务4.3 编程实现按日期统计访问次数 94
4.3.1 分析思路与处理逻辑 94
4.3.2 编写核心模块代码 95
4.3.3 任务实现 97
任务4.4 编程实现按访问次数排序 99
4.4.1 分析思路与处理逻辑 99
4.4.2 编写核心模块代码 100
4.4.3 任务实现 102
小结 104
实训 104
实训1 获取成绩表的高分记录 104
实训2 对两个文件中的数据进行合并与去重 105
课后练习 107
第5章 MapReduce进阶编程 110
任务5.1 筛选日志文件并生成序列化文件 111
5.1.1 MapReduce输入格式 111
5.1.2 MapReduce输出格式 113
5.1.3 任务实现 113
任务5.2 Hadoop Java API读取序列化日志文件 115
5.2.1 FileSystem API管理文件夹 115
5.2.2 FileSystem API操作文件 119
5.2.3 FileSystem API读写数据 121
5.2.4 任务实现 123
任务5.3 优化日志文件统计程序 124
5.3.1 自定义键值类型 124
5.3.2 初步探索Combiner 128
5.3.3 浅析Partitioner 130
5.3.4 自定义计数器 132
5.3.5 任务实现 134
任务5.4 Eclipse提交日志文件统计程序 137
5.4.1 传递参数 137
5.4.2 Hadoop辅助类ToolRunner 139
5.4.3 Eclipse自动打包并提交任务 140
小结 144
实训 144
实训1 统计全球每年的高气温和低气温 144
实训2 筛选气温在15~25℃之间的数据 145
课后练习 146
第6章 项目案例:电影网站用户性别预测 151
任务6.1 认识KNN算法 152
6.1.1 KNN算法简介 152
6.1.2 KNN算法原理及流程 152
任务6.2 数据预处理 154
6.2.1 获取数据 154
6.2.2 数据变换 155
6.2.3 数据清洗 160
6.2.4 划分数据集 163
任务6.3 实现用户性别分类 167
6.3.1 实现思路 167
6.3.2 代码实现 169
任务6.4 评价分类结果的准确性 179
6.4.1 评价思路 179
6.4.2 实现分类评价 180
6.4.3 寻找优K值 184
小结 188
参考文献 189
《云端数据架构实战:从数据采集到智能洞察的完整流程》 内容梗概: 本书并非一本关于特定开源技术细节的堆砌,而是旨在为读者构建一个宏观且深刻的数据系统设计与实现框架。我们将从企业数据战略的制定出发,层层剥离,深入探讨如何搭建一个高效、可靠、可扩展的云原生数据平台,以支撑企业在海量数据时代下的决策与创新。全书围绕“数据生命周期”展开,详述从数据采集、存储、处理、分析到最终价值实现的每一个环节,并融合了前沿的架构理念与实战经验。 第一部分:云原生数据战略与架构设计 数据驱动的商业哲学: 我们将首先探讨数据为何成为现代商业的核心驱动力。这并非空泛的理论,而是结合了实际商业案例,分析企业如何通过有效的数据策略获得竞争优势,例如个性化推荐、风险控制、运营优化等。我们将讨论数据战略与业务目标的对齐,以及如何建立以数据为中心的组织文化。 云原生时代的机遇与挑战: 云原生技术为数据处理带来了前所未有的灵活性和效率。本书将深入剖析云原生在数据领域的应用,包括微服务架构下的数据处理、容器化与Kubernetes在数据平台中的作用。我们会讨论云原生带来的弹性伸缩、高可用性、快速迭代等优势,同时也会审视其在数据一致性、安全性、成本控制等方面带来的挑战,并提供相应的解决方案。 通用数据架构模式: 告别碎片化的技术点,本书将系统性地介绍几种主流的云端数据架构模式,如数据仓库(Data Warehouse)、数据湖(Data Lake)、数据湖仓一体(Data Lakehouse)以及实时数据处理架构。我们将详细分析每种模式的优缺点、适用场景,以及它们如何协同工作,构建出满足不同业务需求的完整数据体系。例如,在介绍数据湖时,我们会重点关注其在存储海量、多样化数据方面的能力;在讲解数据湖仓一体时,我们会强调它如何兼顾数据湖的灵活性和数据仓库的结构化查询能力。 数据治理与安全基石: 在构建强大数据平台的同时,数据治理与安全是不可忽视的基石。本书将详细讲解数据治理的重要性,包括数据目录、数据血缘、数据质量管理、元数据管理等。我们还会深入探讨数据安全策略,如访问控制、数据加密、脱敏技术,以及在云环境下如何实现合规性的数据管理,保障敏感数据的安全。 第二部分:海量数据采集与集成 多源异构数据采集策略: 现实世界的数据来源极其多样,包括关系型数据库、NoSQL数据库、日志文件、流式数据、API接口、第三方数据源等。本书将提供一套全面的数据采集策略,针对不同类型的数据源,介绍最优的采集方法和工具。我们将讨论如何设计高吞吐量的ETL(Extract, Transform, Load)和ELT(Extract, Load, Transform)流程,以及如何处理实时数据流的采集。 事件驱动的实时数据捕获: 随着业务对实时性的要求越来越高,实时数据采集变得至关重要。本书将深入探讨事件驱动架构(EDA)在数据采集中的应用,包括如何利用消息队列(如Kafka, Pulsar)作为数据缓冲和传输的枢纽。我们将详细解析CDC(Change Data Capture)技术,如何实时捕获数据库的变更,并将这些变更流式传输到下游系统。 数据集成模式与挑战: 如何将分散在不同系统中的数据进行有效集成,是构建统一数据视图的关键。本书将介绍多种数据集成模式,如批处理集成、实时集成、微服务数据集成。我们还会探讨数据集成过程中常见的挑战,如数据冲突、数据重复、模式演变,并提供应对策略。 第三部分:高效可扩展的数据存储与管理 云端数据存储方案选型: 云平台提供了丰富的存储服务,从对象存储到托管数据库。本书将对各种云端数据存储方案进行深入剖析,包括关系型数据库(如RDS, Cloud SQL)、NoSQL数据库(如DynamoDB, Cosmos DB)、列式数据库(如Redshift, BigQuery, Snowflake)、以及适用于大数据场景的分布式文件系统(如S3, GCS, HDFS)。我们将从成本、性能、可扩展性、数据一致性等多个维度进行比较分析,帮助读者根据业务需求选择最合适的存储方案。 数据湖与数据仓库的构建: 本书将详细指导读者如何构建现代化的数据湖,强调其在存储原始、半结构化和结构化数据方面的灵活性。我们会讨论数据湖的组织方式、分区策略、文件格式(如Parquet, ORC)的选择,以及如何利用元数据管理提升数据湖的可发现性和可用性。同时,我们也会深入讲解数据仓库的设计原则,包括维度建模、事实表、缓慢变化维度(SCD)等,以及如何构建支持复杂分析的星型模型和雪花模型。 数据湖仓一体(Data Lakehouse)的实践: 结合数据湖的灵活性与数据仓库的结构化特性,Data Lakehouse正成为新的趋势。本书将深入探讨Data Lakehouse的架构理念,包括如何通过统一的事务层(如Delta Lake, Apache Hudi, Apache Iceberg)为数据湖提供ACID事务支持、Schema演进等能力。我们将展示如何在一个统一的平台上实现数据的统一管理、高效查询和分析。 数据生命周期管理: 随着数据量的不断增长,有效管理数据生命周期至关重要。本书将探讨数据的归档、迁移、删除策略,以及如何利用云服务的生命周期策略自动化这一过程,从而优化存储成本并满足合规性要求。 第四部分:分布式数据处理与分析引擎 批处理框架的精髓: 尽管实时处理日益重要,批处理依然是处理大规模历史数据不可或缺的手段。本书将深入解析主流批处理框架的设计理念和应用场景,侧重于其分布式计算原理、任务调度、容错机制。我们将探讨如何优化批处理作业的性能,例如通过合理的数据分区、Shuffle优化、选择合适的序列化格式等。 流式数据处理的实时响应: 实时数据分析是现代业务的重要组成部分。本书将全面介绍流式数据处理框架,包括其事件处理模型、窗口操作、状态管理、容错机制。我们将详细讲解如何利用这些框架构建实时数据管道,实现低延迟的数据分析与响应。 SQL on Big Data: 随着SQL在大数据领域的普及,各种SQL查询引擎应运而生。本书将介绍如何在各种分布式存储和计算引擎之上进行SQL查询,包括MPP(Massively Parallel Processing)数据库、Presto/Trino、Spark SQL等。我们将探讨这些查询引擎的工作原理、优化技巧,以及如何利用它们进行复杂的数据探索和分析。 高性能计算与内存计算: 对于需要极低延迟分析的场景,内存计算和高性能计算至关重要。本书将介绍如何利用Spark等框架的内存计算能力,以及一些专门为高性能计算设计的工具和技术,以加速数据分析过程。 第五部分:高级数据分析与智能化应用 机器学习平台与模型生命周期管理: 从数据准备到模型部署,本书将勾勒出完整的机器学习生命周期。我们将探讨如何利用云原生机器学习平台(如SageMaker, Vertex AI, Azure ML)来简化模型开发、训练、评估和部署流程。我们将重点关注特征工程、模型选择、超参数调优、模型评估指标,以及模型的可解释性与监控。 数据可视化与仪表板构建: 将复杂的数据转化为直观易懂的可视化图表,是信息传递的关键。本书将介绍主流的数据可视化工具和技术,如Tableau, Power BI, Superset, Metabase等。我们将探讨如何设计有效的仪表板,突出关键指标,并满足不同用户的分析需求。 智能决策支持系统: 本书的最终目标是帮助读者构建能够驱动智能决策的系统。我们将探讨如何将数据分析、机器学习模型的结果集成到业务流程中,实现自动化决策、预测性分析和异常检测。我们将讨论指标体系的设计、A/B测试的实施,以及如何利用数据驱动业务增长。 数据产品化与价值变现: 将数据转化为可直接使用的产品或服务,是实现数据价值最大化的重要途径。本书将探讨数据产品化的理念,包括如何设计和开发数据API、嵌入式分析模块,以及如何通过数据洞察驱动新的商业模式。 本书特点: 宏观视角与系统性: 区别于仅聚焦于单一技术栈的工具书,本书提供了一个全面的数据系统设计与实践框架,帮助读者理解数据技术在整个生命周期中的位置与作用。 云原生理念贯穿始终: 紧扣云原生技术发展趋势,强调在云环境下构建和管理数据系统的方法论与实践。 架构与实战并重: 在深入剖析技术架构原理的同时,融入大量的实战经验与案例分析,帮助读者将理论知识应用于实际工作中。 前沿技术与趋势展望: 涵盖了当前大数据领域最热门的架构模式和技术,并对未来发展趋势进行展望。 面向对象的思维训练: 引导读者从整体出发,理解不同技术组件之间的关系,培养构建复杂数据系统的系统思维能力。 本书适合所有希望深入理解和实践现代云端数据架构的开发人员、架构师、数据工程师、数据科学家以及技术管理者。通过阅读本书,您将能够构建出更具弹性、可扩展性和智能化的数据驱动型解决方案。