关于我们
书单推荐
新书推荐
|
大数据技术(微课版)
本书系统地讲解了大数据处理常用技术,具体包括大数据处理架构Hadoop、分布式文件系统HDFS、MapReduce编程模型、分布式数据库Hbase、NoSQL数据库、Spark分布式内存计算、MapReduce应用开发、Spark SQL编程、数据可视化。本书编写特色理论与具体操作相结合,较低基础入门大数据技术。读者对象是本科、专科或研究生大数据技术课程教材,大数据技术爱好者,其他对大数据技术感兴趣的人员。
一、 系列教材背景
人类已经进入智能时代,云计算、大数据、物联网、人工智能、机器人、量子计算等是这个时代□重要的技术热点。为了适应和满足时代发展对人才培养的需要,2017年2月以来,教育部积极推进新工科建设,先后形成了“复旦共识”“天大行动”和“北京指南”,并发布了《教育部高等教育司关于开展新工科研究与实践的通知》《教育部办公厅关于推荐新工科研究与实践项目的通知》,全力探索形成□□全球工程教育的中国模式、中国经验,助力高等教育强国建设。新工科有两个内涵: 一是新的工科专业;二是传统工科专业的新需求。新工科建设将促进一批新专业的发展,这批新专业有的是依托于现有计算机类专业派生、扩展而成的,有的是多个专业有机整合而成的。由计算机类专业派生、扩展形成的新工科专业有计算机科学与技术、软件工程、网络工程、物联网工程、信息管理与信息系统、数据科学与大数据技术等。由计算机类学科交叉融合形成的新工科专业有网络空间安全、人工智能、机器人工程、数字媒体技术、智能科学与技术等。 在新工科建设的“九个一批”中,明确提出“建设一批体现产业和技术□新发展的新课程”“建设一批产业急需的新兴工科专业”。新课程和新专业的持续建设,都需要以适应新工科教育的教材作为支撑。由于各个专业之间的课程相互交叉,但是又不能相互包含,所以在选题方向上,既考虑由计算机类专业派生、扩展形成的新工科专业的选题,又考虑由计算机类专业交叉融合形成的新工科专业的选题,特别是网络空间安全专业、智能科学与技术专业的选题。基于此,清华大学出版社计划出版“面向新工科专业建设计算机系列教材”。 二、 教材定位 教材使用对象为“211工程”高校或同等水平及以上高校计算机类专业及相关专业学生。三、 教材编写原则 (1) 借鉴Computer Science Curricula 2013(以下简称CS2013)。CS2013的核心知识领域包括算法与复杂度、体系结构与组织、计算科学、离散结构、图形学与可视化、人机交互、信息保障与安全、信息管理、智能系统、网络与通信、操作系统、基于平台的开发、并行与分布式计算、程序设计语言、软件开发基础、软件工程、系统基础、社会问题与专业实践等内容。 (2) 处理好理论与技能培养的关系,注重理论与实践相结合,加强对学生思维方式的训练和计算思维的培养。计算机专业学生能力的培养特别强调理论学习、计算思维培养和实践训练。本系列教材以“重视理论,加强计算思维培养,突出案例和实践应用”为主要目标。 (3) 为便于教学,在纸质教材的基础上,融合多种形式的教学辅助材料。每本教材可以有主教材、教师用书、习题解答、实验指导等。特别是在数字资源建设方面,可以结合当前出版融合的趋势,做好立体化教材建设,可考虑加上微课、微视频、二维码、MOOC等扩展资源。 大数据技术(微课版)出版说明四、 教材特点1. 满足新工科专业建设的需要系列教材涵盖计算机科学与技术、软件工程、物联网工程、数据科学与大数据技术、网络空间安全、人工智能等专业的课程。 2. 案例体现传统工科专业的新需求 编写时,以案例驱动,任务引导,特别是有一些新应用场景的案例。 3. 循序渐进,内容全面 讲解基础知识和实用案例时,由简单到复杂,循序渐进,系统讲解。 4. 资源丰富,立体化建设 除了教学课件外,还可以提供教学大纲、教学计划、微视频等扩展资源,以方便教学。 五、 优先出版1. 精品课程配套教材主要包括□□□或省级的精品课程和精品资源共享课的配套教材。 2. 传统优秀改版教材 对于已经出版过的优秀教材,经过市场认可,由于新技术的发展,给图书配上新的教学形式、教学资源,计划改版的教材。 3. 前沿技术与热点教材 反映计算机前沿和当前热点的相关教材,例如云计算、大数据、人工智能、物联网、网络空间安全等方面的教材。 六、 联系方式 联系人: 白立军 联系电话: 01083470179 联系和投稿邮箱: bailj@tup.tsinghua.edu.cn “面向新工科专业建设计算机系列教材”编委会 2019年6月
曹洁:男,郑州轻工业大学副教授,同济大学博士毕业。研究方向:数据分析、机器学习、并行分布式处理。近年在软件学报、电子学报、计算机研究与发展、通信学报等刊物上发表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.2if…else选择结构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 □□0章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 □□1章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 □□2章数据可视化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
你还可能感兴趣
我要评论
|