目录 第1章大数据技术概述/1 1.1大数据时代/1 1.2大数据关键技术/1 1.3大数据软件/3 1.3.1Hadoop/3 1.3.2Spark/5 1.3.3NoSQL数据库/5 1.3.4数据可视化/6 1.4教程内容安排/6 1.5在线资源/8 1.5.1在线资源一览表/8 1.5.2下载专区/8 1.5.3在线视频/9 1.5.4拓展阅读/10 1.5.5大数据课程公共服务平台/10 1.6本章小结/10第2章Linux系统的安装和使用/11 2.1Linux系统简介/11 2.2Linux系统安装/11 2.2.1下载安装文件/12 2.2.2Linux系统的安装方式/12 2.2.3安装Linux虚拟机/13 2.3Linux系统及相关软件基本使用方法/19 2.3.1Shell/19 2.3.2root用户/20 2.3.3创建普通用户/20 2.3.4sudo命令/20 2.3.5常用的Linux系统命令/212.3.6文件解压缩/21 2.3.7常用的目录/22 2.3.8目录的权限/22 2.3.9更新APT/22 2.3.10切换中英文输入法/24 2.3.11vim编辑器使用方法/24 2.3.12在Linux中安装Eclipse/25 2.3.13其他使用技巧/26 2.4关于书中内容的一些约定/26 2.5本章小结/27第3章Hadoop的安装和使用/28 3.1Hadoop简介/28 3.2安装Hadoop前的准备工作/29 3.2.1创建hadoop用户/29 3.2.2更新APT/29 3.2.3安装SSH/29 3.2.4安装Java环境/30 3.3安装Hadoop/31 3.3.1下载安装文件/32 3.3.2单机模式配置/32 3.3.3伪分布式模式配置/33 3.3.4分布式模式配置/39 3.4本章小结/51第4章HDFS操作方法和基础编程/52 4.1HDFS操作常用Shell命令/52 4.1.1查看命令使用方法/52 4.1.2HDFS目录操作/53 4.2利用HDFS的Web管理界面/56 4.3HDFS编程实践/56 4.3.1在Eclipse中创建项目/56 4.3.2为项目添加需要用到的JAR包/57 4.3.3编写Java应用程序/60 4.3.4编译运行程序/63 4.3.5应用程序的部署/64 4.4本章小结/67第5章HBase的安装和基础编程/68 5.1安装HBase/68 5.1.1下载安装文件/68 5.1.2配置环境变量/69 5.1.3添加用户权限/69 5.1.4查看HBase版本信息/69 5.2HBase的配置/70 5.2.1单机模式配置/70 5.2.2伪分布式配置/71 5.3HBase集群搭建/73 5.3.1下载安装文件/74 5.3.2配置环境变量/74 5.3.3分发安装文件/76 5.3.4启动集群/76 5.4HBase常用Shell命令/77 5.4.1在HBase中创建表/77 5.4.2添加数据/78 5.4.3查看数据/78 5.4.4删除数据/79 5.4.5删除表/80 5.4.6查询历史数据/80 5.4.7退出HBase数据库/81 5.5HBase编程实践/81 5.5.1在Eclipse中创建项目/81 5.5.2为项目添加需要用到的JAR包/82 5.5.3编写Java应用程序/84 5.5.4编译运行程序/87 5.6本章小结/89第6章典型NoSQL数据库的安装和使用/90 6.1Redis安装和使用/90 6.1.1Redis简介/90 6.1.2安装Redis/90 6.1.3Redis实例演示/92 6.1.4使用Java操作Redis/93 6.2MongoDB的安装和使用/94 6.2.1MongoDB简介/94 6.2.2安装MongoDB/95 6.2.3使用Shell命令操作MongoDB/97 6.2.4Java API编程实例/101 6.3本章小结/104第7章MapReduce基础编程/105 7.1词频统计任务要求/105 7.2MapReduce程序编写方法/106 7.2.1编写Map处理逻辑/106 7.2.2编写Reduce处理逻辑/106 7.2.3编写main方法/107 7.2.4完整的词频统计程序/107 7.3编译打包程序/109 7.3.1使用命令行编译打包词频统计程序/109 7.3.2使用Eclipse编译运行词频统计程序/110 7.4运行程序/117 7.5本章小结/119第8章数据仓库Hive的安装和使用/120 8.1Hive的安装/120 8.1.1下载安装文件/120 8.1.2配置环境变量/120 8.1.3修改配置文件/121 8.1.4安装并配置MySQL/122 8.2Hive的数据类型/124 8.3Hive基本操作/125 8.3.1创建数据库、表、视图/125 8.3.2删除数据库、表、视图/126 8.3.3修改数据库、表、视图/127 8.3.4查看数据库、表、视图/128 8.3.5描述数据库、表、视图/128 8.3.6向表中加载数据/129 8.3.7查询表中数据/129 8.3.8向表中插入数据或从表中导出数据/129 8.4Hive应用实例: WordCount/130 8.5Hive编程的优势/131 8.6本章小结/131第9章Spark的安装和基础编程/132 9.1基础环境/132 9.2安装Spark/132 9.2.1下载安装文件/132 9.2.2配置相关文件/133 9.3使用Spark Shell编写代码/134 9.3.1启动Spark Shell/134 9.3.2读取文件/135 9.3.3编写词频统计程序/136 9.4编写Spark独立应用程序/137 9.4.1用Scala语言编写Spark独立应用程序/137 9.4.2用Java语言编写Spark独立应用程序/140 9.5本章小结/143第10章Flink的安装和基础编程/145 10.1安装Flink/145 10.2编程实现WordCount程序/147 10.2.1安装Maven/147 10.2.2编写代码/147 10.2.3使用Maven打包Java程序/150 10.2.4通过flink run命令运行程序/151 10.3本章小结/152第11章数据采集工具的安装和使用/153 11.1Kafka简介/153 11.1.1Kafka的特性/153 11.1.2Kafka的应用场景/153 11.1.3Kafka的消息传递模式/154 11.2Kafka在大数据生态系统中的作用/155 11.3Kafka相关概念/156 11.4Kafka准备工作/157 11.5Spark准备工作/158 11.6编写Spark Streaming程序使用Kafka数据源/159 11.7本章小结/163第12章数据可视化/164 12.1可视化概述/164 12.1.1什么是数据可视化/164 12.1.2可视化的发展历程/164 12.1.3可视化的重要作用/166 12.2可视化图表/168 12.3可视化工具/169 12.3.1入门级工具/169 12.3.2信息图表工具/169 12.3.3地图工具/171 12.3.4时间线工具/171 12.3.5高级分析工具/172 12.4Matplotlib的使用方法/172 12.4.1安装Anaconda/173 12.4.2绘制折线图/173 12.4.3绘制条形图/174 12.4.4绘制直方图/175 12.4.5绘制饼图/176 12.5本章小结/177第13章大数据课程综合实验案例/178 13.1案例简介/178 13.1.1案例目的/178 13.1.2适用对象/178 13.1.3时间安排/178 13.1.4预备知识/178 13.1.5硬件要求/179 13.1.6软件工具/179 13.1.7数据集/179 13.1.8案例任务/179 13.2实验环境搭建/180 13.3实验步骤概述/180 13.4步骤一: 本地数据集上传到数据仓库Hive/181 13.4.1实验数据集的下载/181 13.4.2数据集的预处理/183 13.4.3导入数据库/185 13.5步骤二: Hive数据分析/187 13.5.1简单查询分析/187 13.5.2查询条数统计分析/188 13.5.3关键字条件查询分析/189 13.5.4根据用户行为分析/190 13.5.5用户实时查询分析/191 13.6步骤三: Hive、MySQL、HBase数据互导/191 13.6.1Hive预操作/191 13.6.2使用Java API将数据从Hive导入MySQL/193 13.6.3使用HBase Java API把数据从本地导入HBase中/197 13.7步骤四: 利用Matplotlib进行数据可视化分析/202 13.7.1安装Matplotlib依赖库/202 13.7.2可视化分析/203 13.8本章小结/212第14章实验/213 14.1实验一: 熟悉常用的Linux操作和Hadoop操作/213 14.1.1实验目的/213 14.1.2实验平台/213 14.1.3实验步骤/213 14.1.4实验报告/215 14.2实验二: 熟悉常用的HDFS操作/215 14.2.1实验目的/215 14.2.2实验平台/215 14.2.3实验步骤/215 14.2.4实验报告/216 14.3实验三: 熟悉常用的HBase操作/216 14.3.1实验目的/216 14.3.2实验平台/217 14.3.3实验步骤/217 14.3.4实验报告/218 14.4实验四: NoSQL和关系数据库的操作比较/219 14.4.1实验目的/219 14.4.2实验平台/219 14.4.3实验步骤/219 14.4.4实验报告/222 14.5实验五: MapReduce初级编程实践/222 14.5.1实验目的/222 14.5.2实验平台/222 14.5.3实验步骤/222 14.5.4实验报告/225 14.6实验六: 熟悉Hive的基本操作/225 14.6.1实验目的/225 14.6.2实验平台/225 14.6.3数据集/225 14.6.4实验步骤/226 14.6.5实验报告/227 14.7实验七: Spark初级编程实践/227 14.7.1实验目的/227 14.7.2实验平台/227 14.7.3实验步骤/228 14.7.4实验报告/229 14.8实验八: Flink初级编程实践/229 14.8.1实验目的/230 14.8.2实验平台/230 14.8.3实验步骤/230 14.8.4实验报告/230附录A大数据课程实验答案/231 A.1实验一: 熟悉常用的Linux操作和Hadoop操作/231 A.1.1实验目的/231 A.1.2实验平台/231 A.1.3实验步骤/231 A.2实验二: 熟悉常用的HDFS操作/236 A.2.1实验目的/236 A.2.2实验平台/236 A.2.3实验步骤/236 A.3实验三: 熟悉常用的HBase操作/253 A.3.1实验目的/254 A.3.2实验平台/254 A.3.3实验步骤/254 A.4实验四: NoSQL和关系数据库的操作比较/262 A.4.1实验目的/262 A.4.2实验平台/262 A.4.3实验步骤/262 A.5实验五: MapReduce初级编程实践/279 A.5.1实验目的/279 A.5.2实验平台/279 A.5.3实验步骤/279 A.6实验六熟悉Hive的基本操作/287 A.6.1实验目的/287 A.6.2实验平台/288 A.6.3数据集/288 A.6.4实验步骤/288 A.7实验七Spark初级编程实践/291 A.7.1实验目的/291 A.7.2实验平台/291 A.7.3实验步骤/292 A.8实验八Flink初级编程实践/297 A.8.1实验目的/297 A.8.2实验平台/297 A.8.3实验步骤/297附录BLinux系统中的MySQL安装及常用操作/313 B.1安装MySQL/313 B.2MySQL常用操作/316参考文献/319