新書推薦:
《
述异记汇笺及情节单元分类研究(上下册)
》
售價:NT$
475.0
《
环境、社会、治理(ESG)信息披露操作手册
》
售價:NT$
1190.0
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:NT$
440.0
《
理论的意义
》
售價:NT$
340.0
《
悬壶杂记:医林旧事
》
售價:NT$
240.0
《
谁之罪?(汉译世界文学5)
》
售價:NT$
240.0
《
民国词社沤社研究
》
售價:NT$
640.0
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:NT$
495.0
|
編輯推薦: |
■ 从大数据处理相关技术基础入手,循序渐进讲解大数据处理相关技术。
■ 注重原理与技术相结合,力求对大数据处理技术给出理论上的解释。
■ 注重理论与实践相结合,对涉及的大数据处理理论给出对应的操作示例。
|
內容簡介: |
本书系统地讲解了大数据处理常用技术,具体包括大数据处理架构Hadoop、分布式文件系统HDFS、MapReduce编程模型、分布式数据库Hbase、NoSQL数据库、Spark分布式内存计算、MapReduce应用开发、Spark SQL编程、数据可视化。本书编写特色理论与具体操作相结合,较低基础入门大数据技术。读者对象是本科、专科或研究生大数据技术课程教材,大数据技术爱好者,其他对大数据技术感兴趣的人员。
|
關於作者: |
曹洁:男,郑州轻工业大学副教授,同济大学博士毕业。研究方向:数据分析、机器学习、并行分布式处理。近年在软件学报、电子学报、计算机研究与发展、通信学报等刊物上发表10余篇论文。
|
目錄:
|
第1章大数据概述1
1.1大数据的基本概念1
1.1.1大数据的定义1
1.1.2大数据的特征1
1.2大数据技术2
1.2.1数据采集技术2
1.2.2数据预处理技术3
1.2.3云计算技术3
1.2.4分布式处理技术6
1.2.5数据存储技术6
1.3大数据计算模式与典型系统7
1.3.1批处理计算模式与典型系统7
1.3.2流式计算模式与典型系统7
1.3.3迭代计算模式与典型系统8
1.3.4图计算模式与典型系统8
1.3.5内存计算模式与典型系统8
1.4习题8
第2章大数据软件基础9
2.1Linux基础9
2.1.1命令格式9
2.1.2用户管理10
2.1.3文件操作12
2.1.4目录操作15
2.1.5文件压缩和解压缩命令17
2.1.6安装和卸载软件18
2.1.7主机名更改19
2.2Java语言基础202.2.1基本数据类型20
2.2.2主类结构21
2.2.3定义类24
2.2.4类的实例化26
2.2.5包28
2.2.6常用实用类31
2.3SQL基础33
2.4在VirtualBox上安装虚拟机34
2.4.1Master节点的安装34
2.4.2复制虚拟机41
2.5习题45
大数据技术微课版目录第3章Hadoop大数据处理架构46
3.1Hadoop概述46
3.1.1Hadoop简介46
3.1.2Hadoop特性46
3.2Hadoop生态系统47
3.2.1Hadoop分布式文件系统47
3.2.2MapReduce分布式计算模型48
3.2.3Hive数据仓库49
3.2.4HBase分布式数据库49
3.2.5Zookeeper分布式协调服务49
3.2.6Sqoop数据导入导出工具50
3.2.7Pig数据分析50
3.2.8Mahout数据挖掘算法库50
3.2.9Flume日志收集工具51
3.2.10Oozie作业流调度系统51
3.2.11Spark分布式内存计算51
3.2.12Tez有向无环图计算52
3.2.13Storm流数据处理52
3.3Hadoop的安装与使用53
3.3.1安装Hadoop前的准备工作53
3.3.2下载Hadoop安装文件55
3.3.3Hadoop单机模式配置56
3.3.4Hadoop伪分布式模式配置56
3.3.5Hadoop分布式模式配置60
3.4习题69
第4章Hadoop分布式文件系统70
4.1分布式文件系统的结构70
4.1.1主控服务器71
4.1.2数据服务器72
4.1.3客户端73
4.2HDFS的基本特征73
4.3HDFS存储架构及组件功能74
4.3.1HDFS存储架构74
4.3.2数据块74
4.3.3数据节点75
4.3.4名称节点76
4.3.5第二名称节点77
4.3.6心跳消息77
4.3.7客户端77
4.4HDFS文件读写流程77
4.4.1HDFS读文件流程78
4.4.2HDFS写文件流程79
4.5HDFS的Shell操作80
4.5.1查看命令使用方法80
4.5.2HDFS常用的Shell操作81
4.5.3HDFS管理员命令86
4.5.4HDFS的Java API操作86
4.5.5利用HDFS的Web管理页面87
4.6HDFS编程实践87
4.6.1安装eclipse88
4.6.2在eclipse中创建项目89
4.6.3为项目添加需要用到的JAR包90
4.6.4编写Java应用程序92
4.6.5编译运行程序94
4.6.6应用程序的部署95
4.7习题97
第5章MapReduce分布式计算框架99
5.1MapReduce概述99
5.1.1并发、并行与分布式编程的概念99
5.1.2MapReduce并行编程模型100
5.1.3Map函数和Reduce函数100
5.2MapReduce的工作原理101
5.2.1MapReduce的体系架构101
5.2.2MapTask的工作原理103
5.2.3ReduceTask的工作原理104
5.3MapReduce编程类105
5.3.1InputFormat输入格式类105
5.3.2Mapper基类110
5.3.3Combiner合并类112
5.3.4Partitioner分区类112
5.3.5Sort排序类113
5.3.6Reducer类113
5.3.7输出格式类OutputFormat116
5.4MapReduce经典案例117
5.4.1WordCount执行流程示例117
5.4.2WordCount具体实现119
5.4.3使用eclipse编译运行词频统计程序124
5.5习题129
第6章HBase分布式数据库130
6.1HBase概述130
6.1.1HBase的技术特点130
6.1.2HBase与传统关系数据库的区别130
6.1.3HBase与Hadoop中其他组件的关系131
6.2HBase系统架构和访问接口132
6.2.1HBase系统架构132
6.2.2ROOT表和.META.表135
6.2.3HBase访问接口137
6.3HBase数据表138
6.3.1HBase数据表逻辑视图138
6.3.2HBase数据表物理视图140
6.3.3HBase数据表面向列的存储141
6.3.4HBase数据表的查询方式142
6.3.5HBase表结构设计143
6.4HBase安装143
6.4.1下载安装文件143
6.4.2配置环境变量143
6.4.3添加用户权限144
6.4.4查看HBase版本信息144
6.5HBase配置145
6.5.1单机运行模式配置145
6.5.2伪分布式运行模式配置146
6.6HBase常用Shell命令148
6.6.1基本命令149
6.6.2创建表150
6.6.3插入与更新表中的数据152
6.6.4查看表中的数据152
6.6.5删除表中的数据154
6.6.6表的启用禁用155
6.6.7修改表结构155
6.6.8删除HBase表156
6.7常用的Java API156
6.7.1HBase数据库管理API156
6.7.2HBase数据库表API157
6.7.3HBase数据库表行列API159
6.8HBase编程161
6.8.1在eclipse中创建项目161
6.8.2添加项目需要用到的JAR包162
6.8.3编写Java应用程序163
6.8.4编译运行程序166
6.9习题167
第7章NoSQL数据库168
7.1NoSQL数据库概述168
7.1.1NoSQL数据库兴起的原因168
7.1.2NoSQL数据库的特点169
7.2键值数据库169
7.2.1Redis安装170
7.2.2Redis数据库的特点171
7.2.3Redis数据库的基本数据类型171
7.3列族数据库177
7.4文档数据库177
7.4.1MongoDB简介177
7.4.2MongoDB下载与安装177
7.4.3MongoDB文档操作181
7.4.4MongoDB集合操作185
7.4.5MongoDB数据库操作186
7.4.6MongoDB数据类型187
7.5图数据库188
7.5.1下载和安装Neo4j189
7.5.2Neo4j的启动和停止189
7.5.3Neo4j的CQL操作191
7.5.4在Neo4j浏览器中创建节点和关系194
7.6习题196
第8章Scala基础编程197
8.1Scala特性197
8.2Scala安装198
8.2.1用IntelliJ IDEA搭建Scala开发环境198
8.2.2用scala.msi搭建Scala开发环境202
8.3Scala数据类型203
8.4Scala常量和变量204
8.4.1常量204
8.4.2变量205
8.5Scala数组、列表、集合和映射205
8.5.1定长数组206
8.5.2变长数组208
8.5.3列表209
8.5.4集合210
8.5.5映射211
8.6Scala控制结构212
8.6.1条件表达式212
8.6.2ifelse选择结构213
8.6.3编写Scala脚本213
8.6.4循环214
8.7Scala函数215
8.7.1函数定义215
8.7.2匿名函数216
8.7.3高阶函数217
8.8Scala类217
8.9Scala读写文件218
8.10习题219
第9章Python基础编程220
9.1Python安装220
9.2Python代码编写方式221
9.2.1用带图形界面的Python Shell编写交互式代码221
9.2.2用带图形界面的Python Shell编写程序代码221
9.3Python对象和引用222
9.3.1对象的身份223
9.3.2对象的类型223
9.3.3对象的值223
9.3.4对象的引用223
9.4Python基本数据类型224
9.4.1数值数据类型224
9.4.2字符串数据类型225
9.4.3列表数据类型231
9.4.4元组数据类型236
9.4.5字典数据类型238
9.4.6集合数据类型242
9.4.7Python数据类型之间的转换244
9.5Python中的数据输入244
9.6Python中的数据输出245
9.6.1表达式语句输出245
9.6.2print函数输出245
9.6.3字符串对象的format方法的格式化输出247
9.7Python中文件的基本操作248
9.8选择结构249
9.8.1选择语句249
9.8.2条件表达式250
9.9循环结构250
9.9.1while循环250
9.9.2for循环251
9.9.3循环中的break、continue和else252
9.10函数252
9.10.1定义函数252
9.10.2函数调用253
9.11类255
9.11.1定义类255
9.11.2创建类的对象256
9.12习题257
第10章Spark分布式内存计算258
10.1Spark概述258
10.1.1Spark产生背景258
10.1.2Spark的优点259
10.1.3Spark应用场景259
10.1.4Spark生态系统261
10.2Spark的安装及配置261
10.2.1Spark安装的基础环境261
10.2.2下载安装文件262
10.2.3单机模式配置262
10.2.4伪分布式模式配置263
10.3使用Spark Shell编写Scala代码264
10.3.1启动Spark Shell265
10.3.2退出Spark Shell266
10.4Spark核心数据结构RDD266
10.4.1RDD创建266
10.4.2RDD操作268
10.4.3RDD属性275
10.4.4RDD持久化277
10.5Spark运行机制278
10.5.1Spark基本概念278
10.5.2Spark运行架构281
10.5.3Spark应用执行基本流程282
10.6使用Scala语言编写Spark应用程序283
10.6.1安装sbt283
10.6.2编写词频统计Scala应用程序284
10.6.3用sbt打包Scala应用程序285
10.6.4通过sparksubmit运行程序286
10.7使用Python语言编写Spark应用程序286
10.7.1SparkContext287
10.7.2pyspark对RDD的转换操作289
10.7.3pyspark对RDD的行动操作290
10.8习题292
第11章Spark SQL编程293
11.1Spark SQL概述293
11.2Spark SQL与Shell交互293
11.3DataFrame对象的创建294
11.3.1使用parquet格式文件创建DataFrame294
11.3.2使用JSON数据文件创建DataFrame295
11.3.3使用RDD创建DataFrame296
11.4DataFrame对象上的常用操作296
11.4.1内容查看297
11.4.2过滤299
11.4.3分组与聚合299
11.4.4获取所有数据到数组299
11.4.5获取所有数据到列表300
11.4.6获取指定字段的统计信息300
11.5习题300
第12章数据可视化301
12.1Tableau绘图301
12.1.1Tableau的主要特性301
12.1.2Tableau工作表工作区302
12.1.3Tableau仪表板工作区307
12.1.4Tableau故事工作区308
12.1.5Tableau菜单栏310
12.1.6Tableau可视化与数据分析举例311
12.2ECharts绘图312
12.2.1ECharts的特点312
12.2.2ECharts环境搭建313
12.2.3使用Dreamweaver 8创建网页313
12.2.4使用Echarts绘制折线图314
12.2.5使用Echarts绘制柱状图318
12.2.6使用Echarts绘制饼图320
12.2.7使用Echarts绘制雷达图322
12.3PyeCharts绘图324
12.3.1绘制柱状图325
12.3.2绘制折线图327
12.3.3绘制饼图329
12.3.4绘制雷达图330
12.3.5绘制漏斗图331
12.3.6绘制3D立体图332
12.3.7绘制词云图333
12.4习题334
参考文献335
|
內容試閱:
|
一、 系列教材背景
人类已经进入智能时代,云计算、大数据、物联网、人工智能、机器人、量子计算等是这个时代最重要的技术热点。为了适应和满足时代发展对人才培养的需要,2017年2月以来,教育部积极推进新工科建设,先后形成了复旦共识天大行动和北京指南,并发布了《教育部高等教育司关于开展新工科研究与实践的通知》《教育部办公厅关于推荐新工科研究与实践项目的通知》,全力探索形成领跑全球工程教育的中国模式、中国经验,助力高等教育强国建设。新工科有两个内涵: 一是新的工科专业;二是传统工科专业的新需求。新工科建设将促进一批新专业的发展,这批新专业有的是依托于现有计算机类专业派生、扩展而成的,有的是多个专业有机整合而成的。由计算机类专业派生、扩展形成的新工科专业有计算机科学与技术、软件工程、网络工程、物联网工程、信息管理与信息系统、数据科学与大数据技术等。由计算机类学科交叉融合形成的新工科专业有网络空间安全、人工智能、机器人工程、数字媒体技术、智能科学与技术等。
在新工科建设的九个一批中,明确提出建设一批体现产业和技术最新发展的新课程建设一批产业急需的新兴工科专业。新课程和新专业的持续建设,都需要以适应新工科教育的教材作为支撑。由于各个专业之间的课程相互交叉,但是又不能相互包含,所以在选题方向上,既考虑由计算机类专业派生、扩展形成的新工科专业的选题,又考虑由计算机类专业交叉融合形成的新工科专业的选题,特别是网络空间安全专业、智能科学与技术专业的选题。基于此,清华大学出版社计划出版面向新工科专业建设计算机系列教材。
二、 教材定位
教材使用对象为211工程高校或同等水平及以上高校计算机类专业及相关专业学生。三、 教材编写原则
1 借鉴Computer Science Curricula 2013以下简称CS2013。CS2013的核心知识领域包括算法与复杂度、体系结构与组织、计算科学、离散结构、图形学与可视化、人机交互、信息保障与安全、信息管理、智能系统、网络与通信、操作系统、基于平台的开发、并行与分布式计算、程序设计语言、软件开发基础、软件工程、系统基础、社会问题与专业实践等内容。
2 处理好理论与技能培养的关系,注重理论与实践相结合,加强对学生思维方式的训练和计算思维的培养。计算机专业学生能力的培养特别强调理论学习、计算思维培养和实践训练。本系列教材以重视理论,加强计算思维培养,突出案例和实践应用为主要目标。
3 为便于教学,在纸质教材的基础上,融合多种形式的教学辅助材料。每本教材可以有主教材、教师用书、习题解答、实验指导等。特别是在数字资源建设方面,可以结合当前出版融合的趋势,做好立体化教材建设,可考虑加上微课、微视频、二维码、MOOC等扩展资源。
大数据技术微课版出版说明四、 教材特点1. 满足新工科专业建设的需要系列教材涵盖计算机科学与技术、软件工程、物联网工程、数据科学与大数据技术、网络空间安全、人工智能等专业的课程。
案例体现传统工科专业的新需求 编写时,以案例驱动,任务引导,特别是有一些新应用场景的案例。
循序渐进,内容全面 讲解基础知识和实用案例时,由简单到复杂,循序渐进,系统讲解。
资源丰富,立体化建设 除了教学课件外,还可以提供教学大纲、教学计划、微视频等扩展资源,以方便教学。
五、 优先出版1. 精品课程配套教材主要包括国家级或省级的精品课程和精品资源共享课的配套教材。
传统优秀改版教材 对于已经出版过的优秀教材,经过市场认可,由于新技术的发展,给图书配上新的教学形式、教学资源,计划改版的教材。
前沿技术与热点教材 反映计算机前沿和当前热点的相关教材,例如云计算、大数据、人工智能、物联网、网络空间安全等方面的教材。
六、 联系方式
联系人: 白立军
联系电话: 01083470179
联系和投稿邮箱: bailj@tup.tsinghua.edu.cn
面向新工科专业建设计算机系列教材编委会
2019年6月
主任:
张尧学清华大学计算机科学与技术系教授中国工程院院士教育部高等学校软件工程专业教学指导委员会主任委员
副主任:
陈刚浙江大学计算机科学与技术学院院长教授
卢先和清华大学出版社常务副总编辑、
副社长编审
委员:
毕胜大连海事大学信息科学技术学院院长教授
蔡伯根北京交通大学计算机与信息技术学院院长教授
陈兵南京航空航天大学计算机科学与技术学院院长教授
成秀珍山东大学计算机科学与技术学院院长教授
丁志军同济大学计算机科学与技术系系主任教授
董军宇中国海洋大学信息科学与工程学院副院长教授
冯丹华中科技大学计算机学院院长教授
冯立功战略支援部队信息工程大学网络空间安全学院院长教授
高英华南理工大学计算机科学与工程学院副院长教授
桂小林西安交通大学计算机科学与技术学院教授
郭卫斌华东理工大学计算机科学与工程系系主任教授
郭文忠福州大学数学与计算机科学学院院长教授
郭毅可上海大学计算机工程与科学学院院长教授
过敏意上海交通大学计算机科学与工程系教授
胡瑞敏西安电子科技大学网络与信息安全学院院长教授
黄河燕北京理工大学计算机学院院长教授
雷蕴奇厦门大学计算机科学系教授
李凡长苏州大学计算机科学与技术学院院长教授
李克秋天津大学计算机科学与技术学院院长教授
李肯立湖南大学信息科学与工程学院院长教授
李向阳中国科学技术大学计算机科学与技术学院执行院长教授
梁荣华浙江工业大学计算机科学与技术学院执行院长教授
刘延飞火箭军工程大学基础部副主任教授
陆建峰南京理工大学计算机科学与工程学院副院长教授
罗军舟东南大学计算机科学与工程学院教授
吕建成四川大学计算机学院(软件学院)院长教授
吕卫锋北京航空航天大学计算机学院院长教授
马志新兰州大学信息科学与工程学院副院长教授
毛晓光国防科技大学计算机学院副院长教授
明仲深圳大学计算机与软件学院院长教授
彭进业西北大学信息科学与技术学院院长教授
钱德沛中山大学数据科学与计算机学院院长教授
申恒涛电子科技大学计算机科学与工程学院院长教授
苏森北京邮电大学计算机学院执行院长教授
汪萌合肥工业大学计算机与信息学院院长教授
王长波华东师范大学计算机科学与软件工程学院常务副院长教授
王劲松天津理工大学计算机科学与工程学院院长教授
王良民江苏大学计算机科学与通信工程学院院长教授
王泉西安电子科技大学副校长教授
王晓阳复旦大学计算机科学技术学院院长教授
王义东北大学计算机科学与工程学院院长教授
魏晓辉吉林大学计算机科学与技术学院院长教授
文继荣中国人民大学信息学院院长教授
翁健暨南大学副校长教授
吴卿杭州电子科技大学副校长教授
武永卫清华大学计算机科学与技术系副主任教授
肖国强西南大学计算机与信息科学学院院长教授
熊盛武武汉理工大学计算机科学与技术学院院长教授
徐伟陆军工程大学指挥控制工程学院院长副教授
杨鉴云南大学信息学院院长教授
杨燕西南交通大学信息科学与技术学院副院长教授
杨震北京工业大学信息学部副主任教授
姚力北京师范大学人工智能学院执行院长教授
叶保留河海大学计算机与信息学院院长教授
印桂生哈尔滨工程大学计算机科学与技术学院院长教授
袁晓洁南开大学计算机学院院长教授
张春元国防科技大学教务处处长教授
张强大连理工大学计算机科学与技术学院院长教授
张清华重庆邮电大学计算机科学与技术学院执行院长教授
张艳宁西北工业大学校长助理教授
赵建平长春理工大学计算机科学技术学院院长教授
郑新奇 中国地质大学(北京)信息工程学院院长教授
仲红安徽大学计算机科学与技术学院院长教授
周勇中国矿业大学计算机科学与技术学院院长教授
周志华南京大学计算机科学与技术系系主任教授
邹北骥中南大学计算机学院教授
秘书长:
白立军清华大学出版社副编审大数据技术微课版
数据已成为国家基础性战略资源,大数据正日益对全球生产、流通、分配、消费活动以及经济运行机制、社会生活方式和国家治理能力产生重要影响。大数据技术涉及的知识点非常多,一本书无法覆盖所有的知识点。本书从各专业对大数据技术需求的实际情况出发,从大数据技术涉及的基本知识开始,层层推进大数据相关技术的讲解,让初学者能够轻松理解并快速掌握。本教材对每个知识点都进行了深入分析,并针对每个知识点精心设计了相关案例。
全书分为12章。
第1章 大数据概述。主要介绍大数据的基本概念、大数据技术和大数据计算模式与典型系统。
第2章 大数据软件基础。主要介绍Linux基础、Java语言基础、SQL基础和在VirtualBox上安装虚拟机。
第3章 Hadoop大数据处理架构。主要介绍Hadoop概述、Hadoop生态系统和Hadoop的安装与使用。
第4章 Hadoop分布式文件系统。主要介绍分布式文件系统的结构、HDFS的基本特征、HDFS存储架构及组件功能、HDFS文件读写流程、HDFS的Shell操作和HDFS编程实践。
第5章 MapReduce分布式计算框架。主要介绍MapReduce概述、MapReduce的工作原理、MapReduce编程类和MapReduce经典案例。
第6章 HBase分布式数据库。主要介绍HBase概述、HBase系统架构和访问接口、HBase数据表、HBase安装、HBase配置、HBase常用Shell命令、常用的Java API和HBase编程。
第7章 NoSQL数据库。主要介绍NoSQL数据库概述、键值数据库、列族数据库、文档数据库和图数据库。
第8章 Scala基础编程。主要介绍Scala特性,Scala安装,Scala数据类型,Scala常量和变量,Scala数组、列表、集合和映射,Scala控制结构,Scala函数,Scala类和Scala读写文件。
第9章 Python基础编程。主要介绍Python安装、Python代码编写方式、Python对象和引用、Python基本数据类型、Python中的数据输入和输出、Python中文件的基本操作、选择结构、循环结构、函数和类。第10章 Spark分布式内存计算。主要介绍Spark概述、Spark的安装及配置、使用Spark Shell编写Scala代码、Spark核心数据结构RDD、Spark运行机制、使用Scala语言编写Spark应用程序和使用Python语言编写Spark应用程序。
第11章 Spark SQL编程。主要介绍Spark SQL概述、Spark SQL与Shell交互、DataFrame对象的创建和DataFrame对象上的常用操作。
第12章 数据可视化。主要介绍Tableau绘图、ECharts绘图和PyeCharts绘图。
崔霄、王博也参加了本书的编写工作。在撰写本书过程中,参考了大量专业书籍和网络资料,在此向这些作者表示感谢。
由于编写时间仓促,编者水平有限,书中难免会有缺点和不足,热切期望得到专家和读者的批评指正,在此表示感谢。您如果遇到任何问题,或有更多的宝贵意见,欢迎发送邮件至作者的邮箱42675492@qq.com,期待能够收到您的真挚反馈。
编者2020年2月于郑州轻工业大学
|
|