高等教育 > 计算机类

大数据编程技术——从理论到实践

书号:9787113324926 套系名称:普通高等院校新形态一体化系列教材

作者:倪波 李康 出版日期:2026-04-01

定价:49.80 页码 / 开本:无 /16

策划编辑:徐海英 责任编辑:于先军 王占清

适用专业:计算机类 适用层次:高等教育

最新印刷时间:2026-04-01

资源下载
内容简介 前言 目录 作者介绍 图书特色
  • 本书依据高等院校人才培养目标和Hadoop课程教学大纲编写。本书立足于大数据技术的理论与实践,以“从零到一构建企业级数据仓库”为主线,系统地讲解大数据技术栈的核心组件、数据建模方法论及行业级应用实践。具体内容包括大数据与Hadoop、Hadoop集群搭建及配置、Hadoop核心组件、Hive数据仓库、数据采集与预处理、数据仓库建模,最后通过“在线教育数据仓库建模实践”这个真实项目串联全书知识点,从业务调研、数据采集、数仓分层设计到数据报表导出与可视化,完整还原企业级数据仓库的搭建流程,以强化工程化思维。
  • 前言
    在数字化浪潮席卷全球的今天,数据已成为驱动社会进步的核心生产要素。无论是互联网企业的精准推荐、金融行业的风险控制,还是医疗领域的智能诊断,背后都离不开大数据技术的支撑。然而,面对海量数据的采集、存储、计算与分析,传统技术体系已难以应对高并发、高吞吐、高扩展性的挑战。以Hadoop为核心的分布式技术生态应运而生,成为企业构建数据驱动型业务的基础设施。
    本书依据高等院校人才培养目标和Hadoop课程教学大纲编写,立足于大数据技术的理论与实践,以“从零到一构建企业级数据仓库”为主线,系统性地讲解大数据技术栈的核心组件、数据建模方法论及行业级应用实践。全书内容分为七章,层层递进,兼顾技术深度与实战广度,旨在帮助读者掌握大数据平台搭建、数据仓库设计、数据可视化等全流程技能,并为解决实际业务问题提供完整方案。
    本书的内容结构主要分为三个部分。
    第一,基础部分(第1~3章)。第1章深入解析大数据的概念、应用场景及Hadoop生态体系,奠定技术认知基础。第2章从零开始手把手指导Hadoop集群搭建,涵盖虚拟机配置、分布式环境部署、集群管理脚本编写等实操细节。第3章详解Hadoop三大核心组件——HDFS(分布式文件系统)、MapReduce(分布式计算框架)和YARN(资源调度器),通过代码示例与流程剖析,揭示分布式系统的设计精髓。
    第二,工具部分(第4、5章)。第4章聚焦Hive数据仓库,讲解表结构设计、分区与分桶优化、视图管理等核心操作,实现从SQL到大数据计算的平滑过渡。第5章覆盖数据采集全链路技术,包括Zookeeper(分布式协调)、Kafka(高吞吐消息队列)、Flume(日志采集)、Sqoop(数据迁移),构建高效、可靠的数据管道。
    第三,进阶部分(第6、7章)。第6章系统阐述数据仓库建模理论,对比关系模型与维度模型的优劣,详解分层架构设计(ODS、DWD、DWS、ADS)与开发规范,并引入Superset实现数据可视化。第7章以“在线教育”行业为背景,通过真实项目实战串联全书知识点,从业务调研、数据采集、数仓分层设计到数据报表导出与可视化,完整还原企业级数据仓库的搭建流程,以强化工程化思维。
    在数字化浪潮席卷全球的今天,数据已成为驱动社会进步的核心生产要素。无论是互联网企业的精准推荐、金融行业的风险控制,还是医疗领域的智能诊断,背后都离不开大数据技术的支撑。然而,面对海量数据的采集、存储、计算与分析,传统技术体系已难以应对高并发、高吞吐、高扩展性的挑战。以Hadoop为核心的分布式技术生态应运而生,成为企业构建数据驱动型业务的基础设施。
    本书依据高等院校人才培养目标和Hadoop课程教学大纲编写,立足于大数据技术的理论与实践,以“从零到一构建企业级数据仓库”为主线,系统性地讲解大数据技术栈的核心组件、数据建模方法论及行业级应用实践。全书内容分为七章,层层递进,兼顾技术深度与实战广度,旨在帮助读者掌握大数据平台搭建、数据仓库设计、数据可视化等全流程技能,并为解决实际业务问题提供完整方案。
    本书的内容结构主要分为三个部分。
    第一,基础部分(第1~3章)。第1章深入解析大数据的概念、应用场景及Hadoop生态体系,奠定技术认知基础。第2章从零开始手把手指导Hadoop集群搭建,涵盖虚拟机配置、分布式环境部署、集群管理脚本编写等实操细节。第3章详解Hadoop三大核心组件——HDFS(分布式文件系统)、MapReduce(分布式计算框架)和YARN(资源调度器),通过代码示例与流程剖析,揭示分布式系统的设计精髓。
    第二,工具部分(第4、5章)。第4章聚焦Hive数据仓库,讲解表结构设计、分区与分桶优化、视图管理等核心操作,实现从SQL到大数据计算的平滑过渡。第5章覆盖数据采集全链路技术,包括Zookeeper(分布式协调)、Kafka(高吞吐消息队)、Flume(日志采集)、Sqoop(数据迁移),构建高效、可靠的数据管道。
    第三,进阶部分(第6、7章)。第6章系统阐述数据仓库建模理论,对比关系模型与维度模型的优劣,详解分层架构设计(ODS、DWD、DWS、ADS)与开发规范,并引入Superset实现数据可视化。第7章以“在线教育”行业为背景,通过真实项目实战串联全书知识点,从业务调研、数据采集、数仓分层设计到数据报表导出与可视化,完整还原企业级数据仓库的搭建流程,以强化工程化思维。
    本书主要特色包含以下几个方面。
    理论与实践并重:每章均包含技术原理剖析与动手实验,如HDFS文件读写流程、MapReduce编程案例、Flume日志采集配置等,帮助读者“既懂原理,又会操作”。
    技术栈完整:涵盖Hadoop生态的多个核心组件(如Hive、Kafka、Zookeeper),贴合企业主流技术选型。
    行业级项目驱动:通过在线教育数仓项目,解决“数据孤岛”“指标口径混乱”“分析效率低下”等企业常见痛点,培养读者解决复杂问题的能力。
    配套资源丰富:提供代码脚本、配置模板、数据集及习题参考答案,便于教学与自学。本书配有电子课件等资源,可通过中国铁道出版社教育资源数字化平台(https://www.
    tdpress.com/51eds)下载。
    本书由倪波、李康主编,其中倪波编写第1 章、第3 章和第4 章,李康编写第2 章、第5 ~ 7 章。
    由于编者水平有限,书中难免存在疏漏和不足之处,恳请广大读者批评指正。
    编 者
    2025 年12 月
  • 目录
    第1 章 大数据与Hadoop ..............................................................................1
    1.1 大数据概述 ..............................................................................................................1
    1.1.1 大数据时代 ............................................................................................................... 1
    1.1.2 大数据应用 ............................................................................................................... 3
    1.2 Hadoop 简介 ...........................................................................................................4
    1.2.1 什么是Hadoop ......................................................................................................... 4
    1.2.2 Hadoop 版本 ............................................................................................................. 5
    1.2.3 Hadoop 核心组件 ..................................................................................................... 5
    1.3 Hadoop 生态圈 ........................................................................................................6
    小 结 ..........................................................................................................................8
    习 题 ..........................................................................................................................9
    第2 章 Hadoop 集群搭建及配置 ..................................................................10
    2.1 Linux 环境搭建 ......................................................................................................10
    2.1.1 虚拟机安装 ............................................................................................................. 11
    2.1.2 虚拟机网络配置 ..................................................................................................... 19
    2.1.3 模板虚拟机配置 ..................................................................................................... 23
    2.1.4 模板虚拟机克隆 ..................................................................................................... 24
    2.2 完全分布式Hadoop 集群搭建 ...............................................................................26
    2.2.1 Xshell 和Xftp 软件安装 ........................................................................................ 26
    2.2.2 JDK 和Hadoop 安装 .............................................................................................. 32
    2.2.3 SSH 免密登录 ......................................................................................................... 33
    2.2.4 Hadoop 集群配置 ................................................................................................... 34
    2.2.5 Hadoop 集群管理脚本 ........................................................................................... 38
    2.3 Hadoop 集群初体验 ...............................................................................................41
    2.3.1 Hadoop 集群启动 ................................................................................................... 41
    2.3.2 Hadoop 单词统计 ................................................................................................... 43
    小 结 ........................................................................................................................46
    习 题 ........................................................................................................................46
    第3 章 Hadoop 核心组件 ........................................................................... 48
    3.1 分布式文件系统——HDFS ....................................................................................48
    3.1.1 HDFS 基本架构 ...................................................................................................... 49
    3.1.2 HDFS 的数据读写过程 .......................................................................................... 50
    3.1.3 HDFS Shell 操作 .................................................................................................... 52
    3.1.4 HDFS Java API 操作 .............................................................................................. 55
    3.2 分布式计算框架MapReduce .................................................................................58
    3.2.1 MapReduce 概述 ..................................................................................................... 58
    3.2.2 MapReduce 工作流程 ............................................................................................. 60
    3.2.3 MapReduce 任务调度模型 ..................................................................................... 61
    3.2.4 MapReduce 编程组件 ............................................................................................. 62
    3.2.5 MapReduce 编程实践 ............................................................................................. 65
    3.3 集群资源管理系统——YARN ................................................................................71
    3.3.1 YARN 基础架构 ..................................................................................................... 71
    3.3.2 YARN 运行流程 ..................................................................................................... 73
    3.3.3 YARN 资源隔离和调度 ......................................................................................... 73
    3.3.4 YARN 常用命令 ..................................................................................................... 79
    小 结 ........................................................................................................................81
    习 题 ........................................................................................................................81
    第4 章 Hive 数据仓库 ................................................................................ 83
    4.1 数据仓库简介.........................................................................................................83
    4.2 Hive 数据仓库搭建 ................................................................................................84
    4.2.1 Hive 安装 ................................................................................................................ 84
    4.2.2 启动Hive ................................................................................................................ 87
    4.2.3 使用元数据服务方式访问Hive ............................................................................ 88
    4.2.4 使用JDBC 方式访问Hive .................................................................................... 88
    4.2.5 Hive 脚本启动Hive 服务 ...................................................................................... 89
    4.3 Hive 数据库的基本操作 .........................................................................................90
    4.4 Hive 数据表的基本操作 .........................................................................................93
    4.5 Hive 分区表的基本操作 .......................................................................................100
    4.6 Hive 分桶表的基本操作 .......................................................................................103
    4.7 Hive 临时表的基本操作 .......................................................................................105
    4.8 Hive 视图的基本操作 ...........................................................................................106
    4.9 Hive 数据的基本操作 ...........................................................................................108
    小 结 ...................................................................................................................... 119
    习 题 ...................................................................................................................... 119
    第5 章 数据采集与预处理 ...........................................................................120
    5.1 数据采集 ..............................................................................................................120
    5.1.1 用户行为数据采集 ............................................................................................... 120
    5.1.2 业务数据采集 ....................................................................................................... 124
    5.2 分布式协调服务Zookeeper .................................................................................125
    5.2.1 Zookeeper 简介 ..................................................................................................... 125
    5.2.2 Zookeeper 工作原理 ............................................................................................. 126
    5.2.3 Zookeeper 选举和Watch 机制 ............................................................................. 128
    5.2.4 Zookeeper 安装 ..................................................................................................... 131
    5.2.5 Zookeeper 集群操作 ............................................................................................. 133
    5.3 消息队列Kafka ....................................................................................................136
    5.3.1 Kafka 简介 ............................................................................................................ 137
    5.3.2 Kafka 组成 ............................................................................................................ 137
    5.3.3 Kafka 安装 ............................................................................................................ 142
    5.3.4 Kafka 操作 ............................................................................................................ 144
    5.4 日志采集Flume ...................................................................................................145
    5.4.1 Flume 简介 ............................................................................................................ 146
    5.4.2 Flume 数据流结构模型 ........................................................................................ 147
    5.4.3 Flume 安装 ............................................................................................................ 149
    5.4.4 Flume 日志采集配置 ............................................................................................ 149
    5.4.5 Flume 日志采集案例 ............................................................................................ 159
    5.5 数据传输Sqoop ..................................................................................................164
    5.5.1 Sqoop 简介 ............................................................................................................ 164
    5.5.2 Sqoop 安装 ............................................................................................................ 165
    5.5.3 Sqoop 数据导入导出 ............................................................................................ 167
    小 结 ......................................................................................................................174
    习 题 ......................................................................................................................174
    第6 章 数据仓库建模 .................................................................................176
    6.1 数据仓库理论.......................................................................................................176
    6.1.1 数据建模概述 ....................................................................................................... 176
    6.1.2 关系模型 ............................................................................................................... 177
    6.1.3 维度模型 ............................................................................................................... 180
    6.2 数据仓库建模理论 ...............................................................................................185
    6.2.1 数据仓库名词概念 ............................................................................................... 185
    6.2.2 数据仓库分层 ....................................................................................................... 186
    6.2.3 数据仓库开发规范 ............................................................................................... 187
    6.3 数据仓库搭建流程 ...............................................................................................189
    6.4 数据可视化 ..........................................................................................................196
    6.4.1 Superset 简介与安装 ............................................................................................ 196
    6.4.2 Superset 使用 ........................................................................................................ 200
    小 结 ......................................................................................................................205
    习 题 ......................................................................................................................205
    第7 章 在线教育数据仓库建模实践 ............................................................. 207
    7.1 项目概述 ..............................................................................................................207
    7.1.1 在线教育概述 ....................................................................................................... 207
    7.1.2 系统架构设计 ....................................................................................................... 208
    7.1.3 数据来源 ............................................................................................................... 208
    7.2 数据采集 ..............................................................................................................209
    7.3 数据仓库搭建.......................................................................................................212
    7.3.1 业务调研 ............................................................................................................... 212
    7.3.2 ODS 层设计 .......................................................................................................... 213
    7.3.3 DWD 层设计 ........................................................................................................ 215
    7.3.4 DWS 层设计 ......................................................................................................... 220
    7.3.5 ADS 层设计 .......................................................................................................... 221
    7.4 数据报表导出.......................................................................................................226
    7.4.1 创建MySQL 数据库表 ........................................................................................ 227
    7.4.2 Sqoop 数据导出 .................................................................................................... 227
    7.5 数据仓库可视化 ...................................................................................................228
    小 结 ......................................................................................................................232
  • 倪波,湖北理工学院计算机学院副院长,博士、教授,计算机学会会员,中国图形图像学会会员,湖北省优秀中青年团队核心成员,主要从事机器视觉和人工智能等方面的研究工作,具体内容包括:深度学习与视觉理解、医学影像智能分析与诊断,多模态数据分析。主持和参与相关纵向研究课题10余项,在国内外SCI等知名期刊发表论文30篇,其中ESI高引或热点论文篇,Google 学术SCI他引100余次。
    
    李康,湖北理工学院计算机学院专任教师、助教,系统架构设计师。本硕毕业于中国地质大学(武汉)软件工程专业,深耕大数据技术教学与工程实践。主讲《Hadoop大数据技术》《Spark编程基础》等课程,擅于融合行业案例与前沿技术,强化学生分布式计算及实时分析能力。持系统架构设计师认证,精通大数据生态系统工具链,主导产教融合项目开发,指导学生参与多项企业级大数据分析实践。
  • 1.理论与实践并重:每章均配备基础知识讲解和项目案例,包括课后习题与实验操作,强化动手能力。
    2.案例驱动学习:通过真实行业项目串联技术点,帮助读者掌握企业级开发流程。
    3.技术生态全覆盖:涵盖Hadoop、Hive、Zookeeper、Flume、Sqoop、Superset等主流工具,构建完整知识体系。
    4.渐进式教学:从环境配置到高阶应用层层递进,适配不同学习阶段需求。