教育>本科研究生>计算机类
大数据技术及应用——基于Python语言

大数据技术及应用——基于Python语言"

作者:严宣辉等
ISBN:9787121421693
定价:¥69.0
字数:576千字
页数:360
出版时间:2021-10
开本:16开
版次:01-01
装帧:
出版社:电子工业出版社
简介

目前,社会对大数据工程技术人才的需求大大增加,因此向计算机和电子信息类相关专业学生传授大数据知识和技术方法,提高他们在各领域应用大数据的能力具有重大意义。本书共9章,围绕大数据的基本概念和大数据处理的主要环节编写。第1章主要介绍大数据的概念、特点和构成;第2章主要介绍在Windows系统中安装Linux虚拟机及构建Hadoop分布式集群的方法;第3章主要介绍大数据采集工具的使用及数据预处理的常用方法;第4章首先介绍Hadoop的发展历史、软件生态、核心组件和命令结构,然后以HDFS为重点,介绍其体系结构和特点,并详细介绍HDFS的交互式命令;第5章介绍大数据环境下存储工具HBase的数据模型;第6章介绍Hive的存储模型,第7章介绍在Hadoop平台上利用Python设计MapReduce程序的基本思路;第8章介绍大数据分析与挖掘过程中的常用算法;第9章介绍数据可视化的常用方法及常用工具。本书的内容与实际应用紧密结合,目的是让读者能了解大数据的基本概念、理解大数据技术的基本原理、初步掌握大数据处理和分析的基本方法,为未来应用大数据思维和大数据分析方法解决工作中的实际问题打下良好的基础。本书适合作为高等学校计算机类和电子信息类相关专业大数据技术相关课程的教材,可供本科生、研究生使用,同时也适合对大数据技术感兴趣的广大读者进行自学和实践时使用。

前言

为什么写这本书 当前世界正处于向数字化全面转型的过程中,各个领域源源不断产生大量的数据,如工业大数据、医疗大数据、教育大数据、金融大数据和环境大数据等。目前,大数据技术已经深刻影响了人们生活的方方面面,并对人类认知世界和与世界交流的方式提出了新的挑战。维克托?迈尔?舍恩伯格在其大作《大数据时代》一书中指出:“大数据带来的信息风暴正在变革我们的生活、工作和思维,大数据开启了一次重大的时代转型”。 随着大数据技术进入人类活动的各个领域,我们在利用大数据的同时也在源源不断地产生大数据,并在实践中逐渐对大数据中所蕴含的价值有了清晰的认识,迫切需要运用大数据技术进行数据分析和知识挖掘,提升认识世界和发现规律的能力。 目前,社会对大数据工程技术人才的需求大大增加,向计算机和电子信息类相关专业学生传授大数据知识和技术方法,提高他们在各领域应用大数据的能力具有重大意义。 本书的内容与实际应用紧密结合,目的是让读者能了解大数据的基本概念、理解大数据技术的基本原理、初步掌握大数据处理和分析的基本方法,为未来应用大数据思维和大数据分析方法解决工作中的实际问题打下良好的基础。 本书特色 1.理实一体化 目前,大数据技术相关教材主要分为两类:一类是普及大数据知识的导论型教材,只涉及较少的技术细节和实践应用;另一类是技术型教材,主要介绍Hadoop平台的安装、配置和编程方法,缺少系统的知识体系和理论方法。本书希望能扬长避短,融合上述两类教材的优点,全面、系统地介绍大数据相关的基本知识、基本原理和目前主流的技术方法,并辅以应用案例和实践指导,以“理实一体化”的方式组织教材内容,构建较为完整的大数据知识体系和技术方法。 本书在介绍基本原理和方法的过程中穿插大量的操作训练,把相关的知识点嵌入相应的操作过程中,这不但使本书的形式更生动、可读性更强,而且让读者可以通过书中的实例进行练习和验证,能够把所学到的知识和方法用于解决实际问题中。 2.围绕大数据处理的主要环节进行讲解 本书从实践角度出发,结合大量的应用案例,从大数据的基本概念和特点入手,围绕大数据处理的主要环节,首先介绍大数据时代的思维变革和大数据的价值,接着详细介绍大数据实验环境构建(Hadoop大数据处理平台的安装和配置),让读者可以尽快构建起进行大数据实验的环境,然后由浅入深、循序渐进地介绍数据采集和预处理、大数据存储与管理、大数据分布式计算模型和算法设计、大数据分析与挖掘和大数据可视化方法。 3.开发代码与案例用Python语言实现 目前,大数据技术相关教材绝大多数是基于Java语言的,这是因为Hadoop平台是用Java语言开发的。然而,在大数据分析与挖掘中,应用最广泛的是Python语言,许多人工智能领域的学生和工程人员使用的首选编程语言也是Python语言。因此,本书提供的开发代码与案例用Python语言实现。本书介绍利用Python语言实现HDFS文件操作、HBase的访问和MapReduce编程,提供用MRJob库开发MapReduce程序的方法和示例代码,并给出用Python语言设计分布式数据挖掘算法的案例。 本书的适用对象 本书适合作为高等学校计算机类和电子信息类相关专业大数据技术相关课程的教材,可供本科生、研究生使用,同时也适合对大数据技术感兴趣的广大读者进行自学和实践时使用。 本书的配套资源 本书将配套提供课程标准、教学大纲、教学课件、实验项目和习题、源代码、数据集和相关的应用案例,方便教师的备课和授课,也方便读者进行自学和实践。教师和读者可登录华信教育资源网(www.hxedu.com.cn)免费下载以上教学资源。 本书的内容提要 本书共9章,围绕大数据的基本概念和大数据处理的主要环节编写。 第1章主要介绍大数据的概念、特点和构成,以案例方式介绍了大数据的价值与作用,论述了大数据时代的思维模式变革。为了引导后续章节的学习,本章还对大数据处理的主要环节和目前流行的大数据技术进行了简要介绍,让读者初步了解大数据处理过程和相关技术的主要脉络。 第2章主要介绍在Windows系统中安装Linux虚拟机及构建Hadoop分布式集群的方法。首先对Linux虚拟机的安装和网络规划、配置进行讲解,接着介绍常用的Linux命令,然后对Hadoop大数据处理平台的安装与配置进行详细介绍,最后对搭建好的Hadoop分布式集群进行测试。 第3章的主要内容包括大数据采集工具的使用及数据预处理的常用方法,讲解常用大数据采集工具的基本使用方法、基于Python的网页采集框架Scrapy的编程方法、常用的数据预处理方法(数据清洗、变换和集成)。 第4章首先介绍Hadoop的发展历史、软件生态、核心组件和命令结构,然后以HDFS为重点,介绍其体系结构和特点,并详细介绍HDFS的交互式命令。由于Python应用广泛,本章基于Pyhdfs介绍如何利用Python实现对HDFS文件的操作,详细介绍Pyhdfs的类库和相关方法。最后,通过一个具体的实例展示了Pyhdfs应用的便捷性。 第5章首先介绍大数据环境下存储工具HBase的数据模型,并针对HBase Shell的交互式应用展开详细叙述,最后介绍如何使用Python的孪生兄弟Jython实现对HBase的交互访问。 第6章简要介绍数据库管理系统与数据仓库的区别,介绍Hive的存储模型,并以一个简单的实例展示Hive建库、建表、数据导入和查询的全过程。最后,本章详细介绍Hive的DDL、DML和Hive-QL,提供了大量实例供读者学习。 第7章介绍在Hadoop平台上利用Python设计MapReduce程序的基本思路。与利用Java语言实现不同,该方法需要用到Hadoop Streaming实现Map任务和Reduce任务的关联。在详细解释Hadoop Streaming命令的基础上,实现用Python设计MapReduce程序。本章还展开介绍一些常见的MapReduce设计模式,具体包括聚合数据模式、过滤模式和数据连接模式。最后,本章介绍一个基于Hadoop Streaming的工具MRJob,其封装了Hadoop Streaming,简化了Hadoop Streaming的应用。 第8章首先介绍数据的描述性分析方法,包括数据集中趋势度量、离散趋势度量和数据的偏态特性度量等。接着介绍一些经典的分类和聚类算法,包括逻辑回归、近邻分类算法、决策树算法和K-Means聚类算法等。本章最后讨论K-Means算法的并行化问题,给出该算法基于MapReduce模型的Python语言实现和相关的运行与测试方法。 第9章首先介绍数据可视化的常用方法和实例,以及目前常用的数据可视化工具,接着介绍使用Python语言的Matplotlib库进行数据可视化编程的基本方法,最后详细介绍使用ECharts库实现数据可视化的方法和相关实例。 本书的第1~3章由严宣辉编写,第4章、第7章和附录由张仕编写,第5章、第6章由赖会霞编写,第8章、第9章由韩凤萍编写。全书架构设计和统稿由严宣辉负责。 在本书编写过程中,陈颖婕和柯忻阳参与了本书部分应用案例代码的测试工作,在此表示衷心的感谢! 勘误和支持 由于作者的水平和经验有限,编写时间仓促,书中难免会出现不足和遗漏之处,欢迎读者指出,评论和建议请发往yan@fjnu.edu.cn。一旦问题被指出,我们将给出更新勘误表,并对您表示感谢。 编 者

目录

目录 第1章 绪论 1 1.1 大数据的基本概念 1 1.2 大数据的价值和作用 4 1.3 大数据带来的思维方式变革 7 1.4 大数据处理技术基础 9 1.4.1 大数据处理的主要环节 9 1.4.2 大数据的技术支撑 11 1.4.3 流行的大数据技术 13 1.5 大数据面临的技术挑战 15 1.6 本章小结 16 1.7 习题 16 第2章 大数据实验环境构建 18 2.1 在Windows中安装Linux虚拟机 18 2.1.1 创建虚拟机 19 2.1.2 虚拟机启动初始化 21 2.1.3 克隆虚拟机 22 2.2 Linux操作基础 23 2.2.1 软件包管理工具 23 2.2.2 目录和文件操作 24 2.2.3 用户和权限管理命令 25 2.2.4 修改文件的访问权限 25 2.2.5 压缩和解压缩 27 2.2.6 网络配置命令 27 2.2.7 系统服务命令 28 2.2.8 查找命令 29 2.3 建立Linux集群 29 2.3.1 VMware Workstation的网络模式简介 30 2.3.2 集群规划和网络设置 31 2.3.3 配置虚拟机的网络参数 33 2.3.4 关闭防火墙和SELinux 36 2.3.5 SSH免密登录 37 2.4 Hadoop系统简介 41 2.4.1 Hadoop的生态系统 41 2.4.2 Hadoop集群的类型 42 2.5 构建Hadoop“伪分布式”集群 42 2.5.1 安装JDK 42 2.5.2 安装Hadoop软件 44 2.5.3 配置SSH免密登录 45 2.5.4 配置Hadoop 45 2.5.5 启动Hadoop 48 2.6 构建“完全分布式”Hadoop集群 49 2.6.1 配置Hadoop集群的主节点 49 2.6.2 将配置文件发送到从节点 52 2.7 测试Hadoop集群 52 2.7.1 测试HDFS 52 2.7.2 测试WordCount程序 56 2.8 安装Zookeeper 57 2.8.1 在“伪分布”模式下安装Zookeeper 57 2.8.2 在“完全分布”模式下安装Zookeeper 58 2.9 用Ambari构建和管理Hadoop集群 60 2.9.1 安装Ambari 61 2.9.2 用Ambari管理和配置Hadoop集群 61 2.10 本章小结 63 2.11 习题与实验 63 第3章 大数据采集与预处理 66 3.1 大数据采集概述 66 3.1.1 大数据的来源 66 3.1.2 数据容量的单位 67 3.1.3 大数据采集的基本方法 67 3.2 常用的大数据采集工具简介 68 3.2.1 基于Python的网页采集框架Scrapy 69 3.2.2 日志收集工具Flume 74 3.3 数据属性的类型 79 3.3.1 “属性”的类型 79 3.3.2 属性类型的转换 80 3.4 数据预处理 80 3.4.1 数据变换 81 3.4.2 数据清洗 84 3.4.3 使用OpenRefine清洗数据 86 3.4.4 数据集成 89 3.5 本章小结 91 3.6 习题 91 第4章 Hadoop分布式文件系统 94 4.1 Hadoop 94 4.1.1 Hadoop的发展历史 95 4.1.2 Hadoop的优势 96 4.1.3 Hadoop生态 96 4.1.4 Hadoop的核心组件 97 4.1.5 Hadoop集群与资源管理 99 4.1.6 Hadoop命令结构 102 4.2 HDFS体系结构 104 4.2.1 HDFS的设计目标 104 4.2.2 HDFS中的NameNode和DataNodes 105 4.2.3 文件系统命名空间(The File System Namespace) 108 4.2.4 数据容错 108 4.2.5 副本的管理与使用 109 4.3 HDFS初探 110 4.3.1 开始HDFS旅程 110 4.3.2 添加数据文件 111 4.3.3 从HDFS中下载文件 111 4.3.4 关闭HDFS 111 4.3.5 利用Web Console访问HDFS 111 4.4 HDFS常用CLI命令 113 4.4.1 HDFS CLI总览 113 4.4.2 常用HDFS文件操作命令 115 4.5 利用pyhdfs实现HDFS的文件访问 119 4.5.1 pyhdfs的安装与应用案例 120 4.5.2 pyhdfs的HdfsClient类 120 4.6 pyhdfs应用实战 133 4.7 本章小结 135 4.8 习题与实验 135 第5章 HBase基础与应用 137 5.1 HBase简介 137 5.2 HBase安装 138 5.3 HBase初探 139 5.4 HBase的数据模型 143 5.4.1 HBase数据模型相关术语 143 5.4.2 概念模式/视图(Conceptual View) 145 5.4.3 物理模式/视图(Physical View) 146 5.4.4 命名空间(Namespace) 147 5.5 HBase Shell 147 5.5.1 HBase Shell概述 147 5.5.2 创建表(create) 149 5.5.3 修改表/列族(alter table / column family) 153 5.5.4 添加数据(put) 155 5.5.5 获取行或单元(get) 156 5.5.6 扫描并输出数据(scan) 157 5.5.7 统计表的行数(count) 158 5.5.8 删除指定值(delete) 159 5.5.9 其他常用shell命令 160 5.5.10 HBase Shell中的对象引用 162 5.6 利用Jython实现HBase的访问 162 5.6.1 Jython环境设置 162 5.6.2 Jython访问HBase 163 5.6.3 利用scan变量HBase中的数据 164 5.7 本章小结 165 5.8 习题与实验 165 第6章 Hive基础与应用 167 6.1 Hive简介 167 6.1.1 数据库与数据仓库 168 6.1.2 Hive体系结构与接口 168 6.2 Hive的存储模型 169 6.3 Hive初探 171 6.4 Hive的数据定义—DDL 175 6.4.1 数据库的相关操作 175 6.4.2 数据表的创建 177 6.4.3 数据表和分区的修改 182 6.4.4 数据表的其他操作 189 6.5 Hive的数据操纵——DML 194 6.6 Hive的数据检索——Hive-QL 201 6.7 本章小结 206 6.8 习题与实验 207 第7章 分布式计算框架MapReduce 209 7.1 MapReduce概述 209 7.1.1 第一个MapReduce的Python程序 210 7.1.2 MapReduce工作原理 212 7.1.3 MapReduce作业的工作流程 212 7.1.4 MapReduce的输入/输出 214 7.2 WordCount实例详解 214 7.2.1 WordCount程序源码 214 7.2.2 WordCount程序执行 215 7.2.3 WordCount程序原理 216 7.3 Hadoop Streaming 217 7.3.1 Hadoop Streaming的工作原理 218 7.3.2 打包提交作业 218 7.3.3 Streaming工具的用法 219 7.3.4 常见问题应用技巧 222 7.4 MapReduce作业管理 223 7.5 MapReduce Python代码的测试 225 7.6 利用Python的迭代器和生成器优化wordCount程序 227 7.6.1 Python中的迭代器 227 7.6.2 Python中的生成器 228 7.6.3 itertools模块 229 7.6.4 优化wordCount程序 232 7.7 MapReduce程序设计模式 233 7.7.1 数据集介绍 233 7.7.2 聚合查询模式(Summarization Patterns) 235 7.7.3 过滤模式(Filtering Patterns) 241 7.7.4 数据连接模式(Join Patterns) 245 7.8 用MRJob库编写MapReduce程序 250 7.8.1 第一个MRJob程序 250 7.8.2 MRJob应用详解 253 7.8.3 MRJob的协议 256 7.8.4 MRJob的其余设置 259 7.9 本章小结 260 7.10 习题与实验 261 第8章 大数据分析与挖掘 262 8.1 数据的描述性分析 262 8.1.1 数据的集中趋势度量 262 8.1.2 数据的离散趋势度量 263 8.1.3 数据的偏态特性度量 266 8.1.4 数据相关性计算 267 8.2 回归分析 271 8.2.1 一元线性回归(Linear Regression) 271 8.2.2 其他类型的回归模型 274 8.3 分类算法简介 275 8.3.1 逻辑回归 275 8.3.2 近邻分类算法 277 8.3.3 决策树算法 279 8.4 聚类算法简介 285 8.4.1 主要的聚类算法类型 285 8.4.2 聚类质量度量指标 286 8.4.3 k-Means算法 288 8.5 分布式大数据挖掘算法典型案例 290 8.6 本章小结 295 8.7 习题与实验 296 第9章 大数据可视化 298 9.1 引言 298 9.2 大数据可视化的常用方法 300 9.2.1 趋势型大数据可视化方法 300 9.2.2 对比型大数据可视化方法 302 9.2.3 比例型大数据可视化方法 304 9.2.4 分布型大数据可视化 305 9.2.5 文本大数据可视化 306 9.2.6 关系网络大数据可视化 307 9.2.7 时空大数据可视化 308 9.2.8 层次结构大数据可视化 309 9.2.9 高维大数据可视化 310 9.3 大数据可视化常用工具简介 311 9.3.1 Tableau大数据可视化工具简介 312 9.3.2 Python的Matplotlib库简介 314 9.4 基于ECharts的可视化示例 318 9.4.1 ECharts使用准备 319 9.4.2 ECharts 基础概念概览 320 9.4.3 ECharts示例 320 9.5 本章小结 326 9.6 习题与实验 326 附录A HDFS交互命令 328 附录B pyhdfs其他类说明 339 参考文献 344

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0421690

www.luweidong.cn

下一个