大数据基础编程、实验和案例教程

大数据基础编程、实验和案例教程 pdf epub mobi txt 电子书 下载 2026

林子雨 著
图书标签:
  • 大数据
  • 数据分析
  • 编程
  • 实验
  • 教程
  • Python
  • Hadoop
  • Spark
  • 数据挖掘
  • 案例
想要找书就要到 静思书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 清华大学出版社
ISBN:9787302472094
版次:1
商品编码:12143471
包装:平装
开本:16开
出版时间:2017-07-01
用纸:胶版纸
页数:368
字数:568000
正文语种:中文

具体描述

编辑推荐

步步引导,循序渐进,详尽的安装指南为顺利搭建大数据实验环境铺平道路
? 深入浅出,去粗取精,丰富的代码实例帮助快速掌握大数据基础编程方法
? 精心设计,巧妙融合,五套大数据实验题目促进理论与编程知识的消化和吸收
? 结合理论,联系实际,大数据课程综合实验案例精彩呈现大数据分析全流程

内容简介

本书以大数据分析全流程为主线,介绍了数据采集、数据存储与管理、数据处理与分析、数据可视化等环节典型软件的安装、使用和基础编程方法。本书内容涵盖操作系统(Linux和Windows)、开发工具(Eclipse)以及大数据相关技术、软件(Sqoop、Kafka、Flume、Hadoop、HDFS、MapReduce、HBase、Hive、Spark、MySQL、MongoDB、Redis、R、Easel.ly、D3、魔镜、ECharts、Tableau)等。同时,本书还提供了丰富的课程实验和综合案例,以及大量免费的在线教学资源,可以较好地满足高等院校大数据教学实际需求。
本书是《大数据技术原理与应用——概念、存储、处理、分析与应用》的“姊妹篇”,可以作为高等院校计算机、信息管理等相关专业的大数据课程辅助教材,用于指导大数据编程实践;也可供相关技术人员参考。

作者简介

林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校*“数字教师”提出者和建设者(http://www.cs.xmu.edu.cn/linziyu),2009年至今,“数字教师”大平台累计向网络免费发布超过100万字高价值的教学和科研资料,累计网络访问量超过100万次。
主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。曾作为志愿者翻译了Google Spanner、BigTable和《Architecture of a Database System》等大量英文学术资料,与广大网友分享,深受欢迎。2013年在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度厦门大学教学类奖教金获得者。

目录

第1章大数据技术概述/1
1.1大数据时代/1
1.2大数据关键技术/2
1.3大数据软件/3
1.3.1Hadoop/4
1.3.2Spark/5
1.3.3NoSQL数据库/5
1.3.4数据可视化/6
1.4内容安排/7
1.5在线资源/8
1.5.1在线资源一览表/9
1.5.2下载专区/9
1.5.3在线视频/10
1.5.4拓展阅读/11
1.5.5大数据课程公共服务平台/11
1.6本章小结/12第2章Linux系统的安装和使用/13
2.1Linux系统简介/13
2.2Linux系统安装/13
2.2.1下载安装文件/14
2.2.2Linux系统的安装方式/14
2.2.3安装Linux虚拟机/15
2.2.4生成Linux虚拟机镜像文件/36
2.3Linux系统及相关软件的基本使用方法/38
2.3.1Shell/38
2.3.2root用户/38
2.3.3创建普通用户/38〖2〗〖4〗大数据基础编程、实验和案例教程目录〖3〗2.3.4sudo命令/39
2.3.5常用的Linux系统命令/40
2.3.6文件解压缩/40
2.3.7常用的目录/41
2.3.8目录的权限/41
2.3.9更新APT/41
2.3.10切换中英文输入法/43
2.3.11vim编辑器的使用方法/43
2.3.12在Windows系统中使用SSH方式登录Linux系统/44
2.3.13在Linux中安装Eclipse/48
2.3.14其他使用技巧/49
2.4关于本书内容的一些约定/49
2.5本章小结/50第3章Hadoop的安装和使用/51
3.1Hadoop简介/51
3.2安装Hadoop前的准备工作/52
3.2.1创建hadoop用户/52
3.2.2更新APT/52
3.2.3安装SSH/52
3.2.4安装Java环境/53
3.3安装Hadoop/55
3.3.1下载安装文件/55
3.3.2单机模式配置/56
3.3.3伪分布式模式配置/57
3.3.4分布式模式配置/66
3.3.5使用Docker搭建Hadoop分布式集群/75
3.4本章小结/87第4章HDFS操作方法和基础编程/88
4.1HDFS操作常用Shell命令/88
4.1.1查看命令使用方法/88
4.1.2HDFS目录操作/90
4.2利用HDFS的Web管理界面/92
4.3HDFS编程实践/92
4.3.1在Eclipse中创建项目/93
4.3.2为项目添加需要用到的JAR包/94
4.3.3编写Java应用程序/96
4.3.4编译运行程序/98
4.3.5应用程序的部署/100
4.4本章小结/102第5章HBase的安装和基础编程/103
5.1安装HBase/103
5.1.1下载安装文件/103
5.1.2配置环境变量/104
5.1.3添加用户权限/104
5.1.4查看HBase版本信息/104
5.2HBase的配置/105
5.2.1单机模式配置/105
5.2.2伪分布式配置/107
5.3HBase常用Shell命令/109
5.3.1在HBase中创建表/109
5.3.2添加数据/110
5.3.3查看数据/110
5.3.4删除数据/111
5.3.5删除表/112
5.3.6查询历史数据/112
5.3.7退出HBase数据库/112
5.4HBase编程实践/113
5.4.1在Eclipse中创建项目/113
5.4.2为项目添加需要用到的JAR包/116
5.4.3编写Java应用程序/117
5.4.4编译运行程序/123
5.4.5应用程序的部署/124
5.5本章小结/124第6章典型NoSQL数据库的安装和使用/125
6.1Redis安装和使用/125
6.1.1Redis简介/125
6.1.2安装Redis/125
6.1.3Redis实例演示/127
6.2MongoDB的安装和使用/128
6.2.1MongDB简介/129
6.2.2安装MongoDB/129
6.2.3使用Shell命令操作MongoDB/130
6.2.4Java API编程实例/136
6.3本章小结/139第7章MapReduce基础编程/140
7.1词频统计任务要求/140
7.2MapReduce程序编写方法/141
7.2.1编写Map处理逻辑/141
7.2.2编写Reduce处理逻辑/141
7.2.3编写main方法/142
7.2.4完整的词频统计程序/143
7.3编译打包程序/144
7.3.1使用命令行编译打包词频统计程序/145
7.3.2使用Eclipse编译运行词频统计程序/145
7.4运行程序/154
7.5本章小结/156第8章数据仓库Hive的安装和使用/157
8.1Hive的安装/157
8.1.1下载安装文件/157
8.1.2配置环境变量/158
8.1.3修改配置文件/158
8.1.4安装并配置MySQL/159
8.2Hive的数据类型/161
8.3Hive基本操作/162
8.3.1创建数据库、表、视图/162
8.3.2删除数据库、表、视图/163
8.3.3修改数据库、表、视图/164
8.3.4查看数据库、表、视图/165
8.3.5描述数据库、表、视图/165
8.3.6向表中装载数据/166
8.3.7查询表中数据/166
8.3.8向表中插入数据或从表中导出数据/166
8.4Hive应用实例: WordCount/167
8.5Hive编程的优势/167
8.6本章小结/168第9章Spark的安装和基础编程/169
9.1基础环境/169
9.2安装Spark/169
9.2.1下载安装文件/169
9.2.2配置相关文件/170
9.3使用 Spark Shell编写代码/171
9.3.1启动Spark Shell/171
9.3.2读取文件/172
9.3.3编写词频统计程序/174
9.4编写Spark独立应用程序/174
9.4.1用Scala语言编写Spark独立应用程序/175
9.4.2用Java语言编写Spark独立应用程序/178
9.5本章小结/182第10章典型的可视化工具的使用方法/183
10.1Easel.ly信息图制作方法/183
10.1.1信息图/183
10.1.2信息图制作基本步骤/183
10.2D3可视化库的使用方法/186
10.2.1D3可视化库的安装/187
10.2.2基本操作/187
10.3可视化工具Tableau使用方法/194
10.3.1安装Tableau/195
10.3.2界面功能介绍/195
10.3.3Tableau简单操作/197
10.4使用“魔镜”制作图表/202
10.4.1“魔镜”简介/202
10.4.2简单制作实例/202
10.5使用ECharts图表制作/206
10.5.1ECharts简介/206
10.5.2ECharts图表制作方法/206
10.5.3两个实例/210
10.6本章小结/217第11章数据采集工具的安装和使用/218
11.1Flume/218
11.1.1安装Flume/218
11.1.2两个实例/220
11.2Kafka/225
11.2.1Kafka相关概念/225
11.2.2安装Kafka/225
11.2.3一个实例/225
11.3Sqoop/227
11.3.1下载安装文件/227
11.3.2修改配置文件/228
11.3.3配置环境变量/228
11.3.4添加MySQL驱动程序/228
11.3.5测试与MySQL的连接/229
11.4实例: 编写Spark程序使用Kafka数据源/230
11.4.1Kafka准备工作/230
11.4.2Spark准备工作/232
11.4.3编写Spark程序使用Kafka数据源/234
11.5本章小结/239第12章大数据课程综合实验案例/241
12.1案例简介/241
12.1.1案例目的/241
12.1.2适用对象/241
12.1.3时间安排/241
12.1.4预备知识/241
12.1.5硬件要求/242
12.1.6软件工具/242
12.1.7数据集/242
12.1.8案例任务/242
12.2实验环境搭建/243
12.3实验步骤概述/244
12.4本地数据集上传到数据仓库Hive/245
12.4.1实验数据集的下载/245
12.4.2数据集的预处理/246
12.4.3导入数据库/249
12.5Hive数据分析/253
12.5.1简单查询分析/253
12.5.2查询条数统计分析/255
12.5.3关键字条件查询分析/256
12.5.4根据用户行为分析/258
12.5.5用户实时查询分析/259
12.6Hive、MySQL、HBase数据互导/260
12.6.1Hive预操作/260
12.6.2使用Sqoop将数据从Hive导入MySQL/261
12.6.3使用Sqoop将数据从MySQL导入HBase/265
12.6.4使用HBase Java API把数据从本地导入到HBase中/269
12.7利用R进行数据可视化分析/275
12.7.1安装R/275
12.7.2安装依赖库/277
12.7.3可视化分析/278
12.8本章小结/283第13章实验/284
13.1实验一: 熟悉常用的Linux操作和Hadoop操作/284
13.1.1实验目的/284
13.1.2实验平台/284
13.1.3实验步骤/284
13.1.4实验报告/286
13.2实验二: 熟悉常用的HDFS操作/286
13.2.1实验目的/286
13.2.2实验平台/286
13.2.3实验步骤/287
13.2.4实验报告/287
13.3实验三: 熟悉常用的HBase操作/288
13.3.1实验目的/288
13.3.2实验平台/288
13.3.3实验步骤/288
13.3.4实验报告/290
13.4实验四: NoSQL和关系数据库的操作比较/290
13.4.1实验目的/290
13.4.2实验平台/290
13.4.3实验步骤/290
13.4.4实验报告/293
13.5实验五: MapReduce初级编程实践/294
13.5.1实验目的/294
13.5.2实验平台/294
13.5.3实验步骤/294
13.5.4实验报告/297附录A大数据课程实验答案/298
A.1实验一: 熟悉常用的Linux操作和Hadoop操作/298
A.1.1实验目的/298
A.1.2实验平台/298
A.1.3实验步骤/298
A.2实验二: 熟悉常用的HDFS操作/303
A.2.1实验目的/303
A.2.2实验平台/303
A.2.3实验步骤/303
A.3实验三: 熟悉常用的HBase操作/323
A.3.1实验目的/323
A.3.2实验平台/323
A.3.3实验步骤/323
A.4实验四: NoSQL和关系数据库的操作比较/331
A.4.1实验目的/331
A.4.2实验平台/331
A.4.3实验步骤/332
A.5实验五: MapReduce初级编程实践/349
A.5.1实验目的/349
A.5.2实验平台/349
A.5.3实验步骤/350附录BLinux系统中的MySQL安装及常用操作/360
B.1安装MySQL/360
B.2MySQL常用操作/363参考文献/367

精彩书摘

第3章Hadoop的安装和使用
Hadoop是一个开源的、可运行于大规模集群上的分布式计算平台,它主要包含分布式并行编程模型MapReduce和分布式文件系统HDFS等功能,已经在业内得到广泛的应用。借助于Hadoop,程序员可以轻松地编写分布式并行程序,将其运行于计算机集群上,完成海量数据的存储与处理分析。
本章首先简要介绍Hadoop的发展情况;然后,阐述安装Hadoop之前的一些必要准备工作;最后,介绍安装Hadoop的具体方法,包括单机模式、伪分布式模式、分布式模式以及使用Docker搭建Hadoop集群。
3.1Hadoop简介
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中。Hadoop的核心是分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce。
Hadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力。几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、微软、思科、淘宝等,都支持Hadoop。
Apache Hadoop版本分为两代: 第一代Hadoop称为Hadoop 1.0;第二代Hadoop称为Hadoop 2.0。第一代Hadoop包含0.20.x、0.21.x和0.22.x三大版本,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则增加了HDFS HA等重要的新特性。第二代Hadoop包含0.23.x和2.x两大版本,它们完全不同于Hadoop 1.0,是一套全新的架构,均包含HDFS Federation和YARN(Yet Another Resource Negotiator)两个组件。本书采用Hadoop 2.7.1版本。
除了免费开源的Apache Hadoop以外,还有一些商业公司推出的Hadoop发行版。2008年,Cloudera成为第一个Hadoop商业化公司,并在2009年推出第一个Hadoop发行版。此后,很多大公司也加入了做Hadoop产品化的行列,如MapR、Hortonworks、星环等。一般而言,商业化公司推出的Hadoop发行版,也是以Apache Hadoop为基础,但是,前者比后者具有更好的易用性、更多的功能和更高的性能。〖2〗〖4〗大数据基础编程、实验和案例教程第3章Hadoop的安装和使用〖3〗3.2安装Hadoop前的准备工作
本节介绍安装Hadoop之前的一些准备工作,包括创建hadoop用户、更新APT、安装SSH和安装Java环境等。
3.2.1创建hadoop用户
本书全部采用hadoop用户登录Linux系统,并为hadoop用户增加了管理员权限。在第2章中已经介绍了hadoop用户创建和增加权限的方法,一定要按照该方法创建hadoop用户,并且使用hadoop用户登录Linux系统,然后再开始下面的学习内容。
3.2.2更新APT
第2章介绍了APT软件作用和更新方法,为了确保Hadoop安装过程顺利进行,建议按照第2章介绍的方法,用hadoop用户登录Linux系统后打开一个终端,执行下面命令更新APT软件:$ sudo apt-get update
3.2.3安装SSH
SSH是 Secure Shell 的缩写,是建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH是由客户端和服务端的软件组成,服务端是一个守护进程,它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程复制)、slogin(远程登录)、sftp(安全文件传输)等其他的应用程序。
为什么在安装Hadoop之前要配置SSH呢?这是因为,Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录集群中的每台机器,需要将所有机器配置为“名称节点可以无密码登录它们”。
Ubuntu默认已安装了SSH客户端,因此,这里还需要安装SSH服务端,在Linux的终端中执行以下命令:$ sudo apt-get install openssh-server
安装后,可以使用如下命令登录本机:$ ssh localhost
执行该命令后会出现如图3��1所示的提示信息(SSH首次登录提示),输入yes,然后按提示输入密码hadoop,就登录到本机了。
图3��1SSH登录提示信息
这里在理解上会有一点“绕弯”。也就是说,原本我们登录进入Linux系统以后,就是在本机上,这时,在终端中输入的每条命令都是直接提交给本机去执行,然后,又在本机上使用SSH方式登录到本机,这时,在终端中输入的命令,是通过SSH方式提交给本机处理。如果换成包含两台独立计算机的场景,SSH登录会更容易理解。例如,有两台计算机A和B都安装了Linux系统,计算机B上安装了SSH服务端,计算机A上安装了SSH客户端,计算机B的IP地址是59.77.16.33,在计算机A上执行命令ssh 59.77.16.33,就实现了通过SSH方式登录计算机B上面的Linux系统,在计算机A的Linux终端中输入的命令,都会提交给计算机B上的Linux系统执行,也就是说,在计算机A上操作计算机B中的Linux系统。现在,只有一台计算机,就相当于计算机A和B都在同一台机器上,所以,理解起来就会有点“绕弯”。
由于这样登录需要每次输入密码,所以,需要配置成SSH无密码登录会比较方便。在Hadoop集群中,名称节点要登录某台机器(数据节点)时,也不可能人工输入密码,所以,也需要设置成SSH无密码登录。
首先输入命令exit退出刚才的SSH,就回到了原先的终端窗口;然后可以利用ssh�瞜eygen生成密钥,并将密钥加入到授权中,命令如下:$ cd ~/.ssh/#若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa#会有提示,按Enter键即可
$ cat ./id_rsa.pub>>./authorized_keys#加入授权
此时,再执行ssh localhost命令,无须输入密码就可以直接登录了,如图3��2所示。
图3��2SSH登录后的提示信息
3.2.4安装Java环境
Hadoop是基于Java语言开发的,本书的Hadoop应用程序也是采用Java语言编写的,因此,需要安装Java环境。Java环境可选择安装Oracle的JDK,或者安装OpenJDK。下面介绍两种不同的安装方式,优先选择第一种方式,如果第一种方式失败,请选择第二种方式。
1. 第一种安装方式
直接通过如下命令安装OpenJDK 7:$ sudo apt-get install openjdk-7-jre openjdk-7-jdk
上述安装过程需要访问网络下载相关文件,请保持联网状态。安装好OpenJDK后,需要找到相应的安装路径,这个路径是用于配置JAVA_HOME环境变量的,请执行如下命令:$ dpkg -L openjdk-7-jdk | grep '/bin/javac'
该命令会输出一个路径,除去路径末尾的/bin/javac,剩下的就是正确的路径了。例如,上面的命令执行后输出路径为/usr/lib/jvm/java��7�瞣penjdk�瞐md64/bin/javac,则我们需要的路径为/usr/lib/jvm/java��7�瞣penjdk�瞐md64。
接下来需要配置JAVA_HOME环境变量,为方便起见,这里直接在~/.bashrc这个文件中进行设置,采用这种配置方式时,只对当前登录的单个用户生效,当该用户登录以及每次打开新的Shell时,它的环境变量文件.bashrc会被读取。在Linux终端中输入下面命令打开当前登录用户的环境变量配置文件.bashrc:$ vim ~/.bashrc
在文件最前面添加如下单独一行(注意,等号(=)前后不能有空格),然后保存退出:$ export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
接下来要让环境变量立即生效,执行如下代码$source ~/.bashrc# 使变量设置生效
执行上述命令后,可以检验一下是否设置正确:$ echo $JAVA_HOME#检验变量值
$ java -version
$ $JAVA_HOME/bin/java -version#与直接执行java -version一样
如果设置正确,$JAVA_HOME/bin/java �瞯ersion命令执行后,会输出Java的版本信息,并且和java �瞯ersion的输出结果一样。
至此,Hadoop所需的Java运行环境就顺利安装完成。
2. 第二种安装方式
根据大量计算机安装Java环境的情况发现,部分计算机按照上述的第一种安装方式会出现安装失败的情况,这时,可以采用这里介绍的另外一种安装方式,命令如下:$ sudo apt-get install default-jre default-jdk
上述安装过程需要访问网络下载相关文件,请保持联网状态。安装结束以后,需要配置JAVA_HOME环境变量,在Linux终端中输入下面命令打开当前登录用户的环境变量配置文件.bashrc:$ vim ~/.bashrc
在文件最前面添加如下单独一行(注意,等号(=)前后不能有空格),然后保存退出:$ export JAVA_HOME=/usr/lib/jvm/default-java
接下来要让环境变量立即生效,执行如下代码:$source ~/.bashrc# 使变量设置生效
执行上述命令后,可以检验一下是否设置正确:$ echo $JAVA_HOME#检验变量值
$ java -version
$ $JAVA_HOME/bin/java -version#与直接执行java -version一样
至此,就成功安装了Java环境。下面就可以进入Hadoop的安装。
3.3安装Hadoop
Hadoop包括3种安装模式。
(1) 单机模式。只在一台机器上运行,存储采用本地文件系统,没有采用分布式文件系统HDFS。
(2) 伪分布式模式。存储采用分布式文件系统HDFS,但是,HDFS的名称节点和数据节点都在同一台机器上。
(3) 分布式模式。存储采用分布式文件系统HDFS,而且,HDFS的名称节点和数据节点位于不同机器上。
本节介绍Hadoop的具体安装方法,包括下载安装文件、单机模式配置、伪分布式模式配置、分布式模式配置和使用Docker搭建Hadoop分布式集群等。
3.3.1下载安装文件
本书采用的Hadoop版本是2.7.1,可以到Hadoop官网下载安装文件(http://mirrors.cnnic.cn/apache/hadoop/common/),或者也可以到本书官网的“下载专区”中下载安装文件,进入下载专区后,在“软件”这个文件夹中,找到文件hadoop��2.7.1.tar.gz,下载到本地。下载的方法是,在Linux系统中(不是在Windows系统中),打开浏览器,一般自带了火狐(FireFox)浏览器。打开浏览器后,访问本书官网,下载hadoop��2.7.1.tar.gz。火狐浏览器默认会把下载文件都保存到当前用户的下载目录,由于本书全部采用hadoop用户登录Linux系统,所以,hadoop��2.7.1.tar.gz文件会被保存到“/home/hadoop/下载/”目录下。
需要注意的是,如果是在Windows系统下面下载安装文件hadoop��2.7.1.tar.gz,则需要通过FTP软件上传到Linux系统的“/home/hadoop/下载/”目录下,这个目录是本书所有安装文件的中转站。
下载完安装文件以后,需要对文件进行解压。按照Linux系统使用的默认规范,用户安装的软件一般都是存放在/usr/local/目录下。使用hadoop用户登录Linux系统,打开一个终端,执行如下命令:$ sudo tar -zxf ~/下载/hadoop-2.7.1.tar.gz -C /usr/local# 解压到/usr/local目录中
$cd /usr/local/
$ sudo mv ./hadoop-2.7.1/ ./hadoop#将文件夹名改为hadoop
$ sudo chown -R hadoop ./hadoop #修改文件权限
Hadoop解压后即可使用,可以输入如下命令来检查 Hadoop是否可用,成功则会显示 Hadoop版本信息:$cd /usr/local/hadoop
$./bin/hadoop version
3.3.2单机模式配置
Hadoop的默认模式为非分布式模式(本地模式),无须进行其他配置即可运行。Hadoop附带了丰富的例子,运行如下命令可以查看所有例子:$ cd /usr/local/hadoop
$ ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar
上述命令执行后,会显示所有例子的简介信息,包括grep、join、wordcount等。这里选择运行grep例子,可以先在/usr/local/hadoop目录下创建一个文件夹input,并复制一些文件到该文件夹下;然后,运行grep程序,将 input文件夹中的所有文件作为grep的输入,让grep程序从所有文件中筛选出符合正则表达式“dfs[a�瞶.]+”的单词,并统计单词出现的次数,最后,把统计结果输出到/usr/local/hadoop/output文件夹中。完成上述操作的具体命令如下:$cd /usr/local/hadoop
$mkdir input
$ cp ./etc/hadoop/��.xml ./input #将配置文件复制到input目录下
$./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-��.jar grep ./input ./output 'dfs[a-z.]+'
$ cat ./output/��#查看运行结果
执行成功后结果如图3��3所示,输出了作业的相关信息,输出的结果是符合正则表达式的单词dfsadmin出现了1次。
图3��3grep程序运行结果
需要注意的是,Hadoop默认不会覆盖结果文件,因此,再次运行上面实例会提示出错。如果要再次运行,需要先使用如下命令把output文件夹删除:$rm -r ./output
3.3.3伪分布式模式配置
Hadoop可以在单个节点(一台机器)上以伪分布式的方式运行,同一个节点既作为名称节点(Name Node),也作为数据节点(Data Node),读取的是分布式文件系统 HDFS 中的文件。
1
……

前言/序言

建设了中国高校大数据课程公共服务平台,成为全国高校大数据教学知名品牌。平台为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等全方位、一站式免费服务,平台年访问量超过100万次;同时提供面向高校的大数据实验平台建设方案和大数据课程师资培训服务。
扫一扫访问平台主页
大数据带来了信息技术的巨大变革,并深刻影响着社会生产和人民生活的方方面面。大数据专业人才的培养是世界各国新一轮科技较量的基础,高等院校承担着大数据人才培养的重任,需要及时建立大数据课程体系,为社会培养和输送一大批具备大数据专业素养的高级人才,满足社会对大数据人才日益旺盛的需求。
高质量的教材是推进高校大数据课程体系建设的关键支撑。2013年12月,笔者根据自己主讲厦门大学计算机系研究生大数据课程的教学实践,编写了电子书《大数据技术基础》,通过网络免费发布,获得了较好的反响。此后两年多的时间里,笔者继续对大数据技术知识体系进行深入学习和系统梳理,并结合教学实践和大量调研,编著出版了《大数据技术原理与应用》教材,该书第1版于2015年8月出版发行,第2版于2017年2月出版发行。《大数据技术原理与应用》一书侧重于介绍大数据技术的实现原理,编程实践内容较少,该教材定位为入门级大数据教材,以“构建知识体系、阐明基本原理、开展初级实践、了解相关应用”为原则,旨在为读者搭建起通向大数据知识空间的桥梁和纽带,为读者在大数据领域深耕细作奠定基础、指明方向。教材系统论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、大数据处理架构Spark、流计算、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用。
《大数据技术原理与应用》一书出版以后,获得了读者较高的认可,目前已经成为国内多所高校的大数据课程教材。与此同时,笔者在最近两年通过各种形式助力全国高校加快推进大数据课程建设,包括建设全国高校大数据课程公共服务平台、开展全国高校大数据公开课巡讲计划、组织全国高校大数据教学论坛、举办全国高校大数据课程教师培训交流班等。通过这些活动,笔者与全国高校广大大数据课程教师有了更深的接触和交流,也收集到了广大一线教师的核心教学需求。很多高校教师在高度肯定《大数据技术原理与应用》教材的同时,也提出了很多中肯的改进意见和建议,其中,有很多教师指出,应该加强大数据实践环节的训练,提供实验指导和综合案例。
为了更好地满足高校教学实际需求,笔者带领厦门大学数据库实验团队,开展了大量的探索和实践,并对实践材料进行系统整理,在此基础上编写了本教程。本教程侧重于介绍大数据软件的安装、使用和基础编程方法,并提供大量实验和案例。由于大数据软件都是开源软件,安装过程一般比较复杂,也很耗费时间。为了尽量减少读者搭建大数据实验环境时的障碍,笔者在本书中详细写出了各种大数据软件的详细安装过程,可以确保读者顺利完成大数据实验环境搭建。
〖2〗〖4〗大数据基础编程、实验和案例教程前言〖3〗本书共13章,详细介绍系统和软件的安装、使用以及基础编程方法。第1章介绍大数据的关键技术和代表性软件,帮助读者形成对大数据技术及其代表性软件的总体性认识。第2章介绍Linux系统的安装和使用方法,为后面其他章节的学习奠定基础。第3章介绍分布式计算框架Hadoop的安装和使用方法。第4章介绍分布式文件系统HDFS的基础编程方法。第5章介绍分布式数据库HBase的安装和基础编程方法。第6章介绍典型NoSQL数据库的安装和使用方法,包括键值数据库Redis和文档数据库MongoDB。第7章介绍如何编写基本的MapReduce程序。第8章介绍基于Hadoop的数据仓库Hive的安装和使用方法。第9章介绍基于内存的分布式计算框架Spark的安装和基础编程方法。第10章介绍5种典型的可视化工具的安装和使用方法,包括Easel.ly、D3、魔镜、ECharts、Tableau等。第11章介绍数据采集工具的安装和使用方法,包括Flume、Kafka和Sqoop。第12章介绍一个大数据课程综合实验案例,即网站用户购物行为分析。第13章通过5个实验让读者加深对知识的理解。
本书面向高校计算机和信息管理等相关专业的学生,可以作为专业必修课或选修课的辅助教材。本书是《大数据技术原理与应用》的“姊妹篇”,可以作为《大数据技术原理与应用》的辅助配套教程,两本书组合使用,可以达到更好的学习效果。此外,本书也可以和市场上现有的其他大数据教材配套使用,作为教学辅助用书。
本书由林子雨执笔。在撰写过程中,厦门大学计算机科学系硕士研究生谢荣东、罗道文、邓少军、阮榕城、薛倩、魏亮、曾冠华等做了大量辅助性工作,在此,向这些同学的辛勤工作表示衷心的感谢。
本书的官方网站是http://dblab.xmu.edu.cn/post/bigdatapractice/,免费提供了全部配套资源的在线浏览和下载,并接受错误反馈和发布勘误信息。同时,在学习大数据课程的过程中,欢迎读者访问厦门大学数据库实验室建设的国内高校首个大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata�瞭eaching�瞤latform/),该平台为教师教学和学生学习大数据课程提供讲义PPT、学习指南、备课指南、上机习题、技术资料、授课视频等全方位、一站式免费服务。
本书在撰写过程中,参考了大量网络资料,对大数据技术及其典型软件进行了系统梳理,有选择地把一些重要知识纳入本书。由于笔者能力有限,本书难免存在不足之处,望广大读者不吝赐教。
林子雨2017年2月于厦门大学计算机科学系数据库实验室

《现代数据分析师实战指南:从理论到应用的全面进阶》 内容梗概: 本书旨在为 aspiring 和资深数据分析师提供一套系统、全面且高度实用的进阶学习路径。它深刻理解现代数据分析领域日新月异的挑战与机遇,不仅涵盖了前沿的理论知识,更聚焦于实际操作的每一个环节,帮助读者构建扎实的数据思维,掌握解决复杂业务问题的能力。本书将带领读者穿越数据采集、清洗、处理、建模、评估及最终落地的全过程,以清晰的逻辑和丰富的案例,将抽象的数据概念转化为可操作的解决方案。 核心模块与内容详解: 第一部分:现代数据分析的基石与思维重塑 数据驱动思维的本质: 深入剖析“数据驱动”的内涵,探讨如何在企业战略、产品迭代、市场营销等各个层面构建以数据为中心的决策流程。本节将纠正对数据分析的片面理解,强调其作为一种思维模式和工作方法的根本作用。 数据分析师的角色定位与成长路径: 详细阐述数据分析师在不同行业、不同规模组织中的职能差异,从初级分析师到高级专家、再到数据科学家、商业智能架构师的晋升阶梯。重点解析不同阶段所需的核心技能、知识广度与深度,以及职业发展中的关键里程碑。 解构数据分析项目生命周期: 系统梳理一个完整的数据分析项目从需求定义、数据理解、数据准备、模型构建、模型评估到部署与监控的各个阶段。每个阶段都将剖析其核心任务、关键挑战和最佳实践,为读者提供项目管理的宏观视角。 批判性思维与问题解决框架: 强调在数据分析过程中培养批判性思维的重要性,如何识别数据中的偏差、陷阱和误导性信息。介绍几种经典的商业问题分析框架(如 MECE 原则、逻辑树、STAR 原则等)在数据分析项目中的应用,帮助读者将分析结果与业务目标有效对齐。 第二部分:精通数据处理与特征工程的艺术 数据采集与整合的策略: 详细介绍多种数据采集技术,包括 API 接口、数据库直连、网页爬虫(合法合规的前提下)、日志文件分析等。重点讲解如何设计数据采集方案,确保数据的准确性、完整性和及时性。同时,探讨跨数据源整合的挑战与方法,如数据字典定义、ETL 流程设计。 数据清洗与预处理的实战技巧: 深入讲解处理缺失值(插补、删除)、异常值(检测、处理)、重复值、不一致数据等常见数据质量问题的 Técnicas。详细介绍数据类型转换、标准化、归一化、编码(如独热编码、标签编码)等数据预处理方法,以及它们对后续建模的影响。 特征工程的深度探索: 将特征工程提升到“艺术”的高度,探讨其对模型性能的决定性作用。详细介绍特征提取(如文本数据的 TF-IDF、词向量;图像数据的 HOG、SIFT;时间序列数据的滞后特征、滚动统计量)、特征创建(如组合特征、派生特征)、特征选择(如过滤法、包装法、嵌入法)以及特征降维(如 PCA、t-SNE)等核心技术。本书将提供大量案例,展示如何根据业务场景和数据特性,创造出富有信息量的特征。 数据库与数据仓库基础: 简要回顾关系型数据库(SQL)的核心概念与常用操作。重点讲解数据仓库的基本原理、维度建模(星型模型、雪花模型)以及 OLAP(联机分析处理)技术的应用,帮助读者理解结构化数据的高效存储与查询。 第三部分:驾驭统计模型与机器学习算法 统计学在数据分析中的应用: 深入讲解描述性统计(均值、中位数、方差、标准差、分位数等)和推断性统计(假设检验、置信区间、A/B 测试)的核心概念与实际应用。重点展示如何通过统计方法验证假设、评估效果、度量差异。 监督学习算法精讲与实战: 回归模型: 详细讲解线性回归、多项式回归、岭回归、Lasso 回归等,并深入分析模型的假设、诊断与调优。 分类模型: 系统介绍逻辑回归、支持向量机 (SVM)、决策树、随机森林、梯度提升树 (GBDT, XGBoost, LightGBM) 等经典算法。重点剖析算法原理、优缺点、参数调优策略,并结合真实业务场景进行案例演示。 模型评估指标: 详细讲解适用于回归(MSE, RMSE, MAE, R-squared)和分类(Accuracy, Precision, Recall, F1-score, AUC-ROC, PR 曲线)任务的评估指标,以及如何根据业务目标选择合适的指标。 无监督学习算法的应用: 聚类分析: 讲解 K-Means, DBSCAN, Hierarchical Clustering 等算法,并探讨其在用户分群、市场细分等场景的应用。 降维技术: 重点讲解主成分分析 (PCA) 和 t-分布随机邻域嵌入 (t-SNE) 在数据可视化和特征提取中的作用。 模型解释性与可解释 AI (XAI): 探讨模型解释的重要性,介绍 SHAP, LIME 等模型解释工具,帮助读者理解复杂模型的决策过程,增强模型的信任度和可信度。 第四部分:可视化与沟通的艺术 高效数据可视化原则: 讲解数据可视化的基本原则,如清晰度、准确性、有效性,避免视觉误导。介绍不同图表类型(散点图、折线图、柱状图、箱线图、热力图、地理图等)的适用场景和最佳实践。 主流可视化工具实操: (此处可以提及具体工具,如 Tableau, Power BI, Matplotlib, Seaborn, Plotly, D3.js 等,但为了保持通用性,这里只强调工具的实操性)通过大量实例,演示如何使用流行的可视化工具创建信息丰富、引人入胜的数据图表,并进行交互式探索。 数据故事的构建与呈现: 强调数据分析的最终价值在于沟通和驱动行动。本书将指导读者如何将数据分析结果转化为清晰、有说服力的“数据故事”,并通过口头报告、演示文稿、报告撰写等多种形式有效传达给非技术背景的决策者。重点讲解如何提炼关键洞察,设计逻辑清晰的报告结构,并使用可视化元素增强表达效果。 第五部分:行业案例与高级主题 电商领域的客户行为分析: 结合电商平台的真实数据,演示如何进行用户画像构建、购买路径分析、流失预测、推荐系统优化等。 金融领域的风险控制与欺诈检测: 分析如何利用数据构建信用评分模型、识别异常交易、预测市场风险。 市场营销领域的广告投放优化与用户细分: 探讨如何通过数据分析评估广告效果、进行精准营销、优化客户生命周期价值。 新兴数据分析技术展望: 简要介绍大数据处理框架(如 Spark)、分布式计算、深度学习在数据分析中的初步应用,为读者指明未来的学习方向。 伦理与隐私在数据分析中的重要性: 强调数据分析过程中涉及的伦理道德问题、数据隐私保护法规(如 GDPR, CCPA)以及负责任的数据使用原则。 本书特色: 强调“为什么”与“如何做”: 不仅讲解技术手段,更深入分析背后的原理和业务逻辑,帮助读者理解“为什么”这样做,以及“如何”将其有效地应用于实际。 实践驱动,案例丰富: 包含大量来自不同行业的真实或模拟案例,涵盖了数据分析的各个环节,让读者在实践中学习和巩固知识。 循序渐进,能力进阶: 体系化设计,从基础概念到高级应用,逐步引导读者建立扎实的数据分析能力。 工具与理论并重: 兼顾主流数据分析工具的使用,与核心理论知识相结合,培养读者解决实际问题的综合能力。 面向未来,持续学习: 关注行业最新动态和发展趋势,为读者的持续学习和职业成长打下坚实基础。 适合读者: 希望系统学习数据分析理论与实践的初学者。 在数据分析领域希望提升技能、拓展知识广度的在职人员。 希望将数据分析方法应用于实际业务决策的管理层和产品经理。 对商业智能、市场研究、运营分析等领域感兴趣的专业人士。 通过阅读本书,读者将能够自信地应对复杂的数据挑战,运用科学的方法解决实际业务问题,并最终成为一名有价值的数据分析师。

用户评价

评分

《大数据基础编程、实验和案例教程》这个书名,简直是给我这样的技术学习者指明了方向。我一直觉得,对于大数据这样复杂且日新月异的技术领域,光靠理论学习是远远不够的,必须要有实践的支撑。因此,我特别期待这本书中的“实验”部分。我希望它能提供一套完整的实验体系,从环境的搭建(比如使用Docker或虚拟机),到各种常用大数据组件(如HDFS、Hive、HBase、Spark)的配置和使用,再到实际的数据处理和分析操作。我期望这些实验能够涵盖从入门到进阶的各个阶段,让我能够一步步地掌握大数据技术的精髓。同时,我非常看重“案例教程”这一环节,因为我希望能够看到大数据技术是如何在真实世界中创造价值的。我希望书中能够选取一些典型且具有代表性的案例,比如如何利用大数据分析用户行为,实现精准营销;如何构建一个实时数据处理流水线,用于监控和预警;或者如何在海量日志数据中发现潜在的安全威胁。我希望这些案例能够详细地阐述问题背景、技术选型、实现方法以及最终的成果,让我能够深刻理解大数据技术在解决实际业务挑战中的作用,并从中学习到一些宝贵的经验和思路。我相信,通过这样一套结合编程、实验和案例的学习模式,我能够更有效地掌握大数据技术,并将其应用到实际工作中。

评分

这本书的题目《大数据基础编程、实验和案例教程》听起来就非常全面,让人充满期待。作为一名希望在大数据领域有所建树的开发者,我尤其看重其“编程”和“实验”的结合。我希望这本书能够深入讲解在大数据生态系统中常用的编程语言和框架,例如Scala、Python在Spark中的应用,以及Java在Hadoop中的作用。我希望它能提供详实的编程范例,并解释这些代码背后的逻辑和原理,帮助我理解如何编写高效、可扩展的大数据处理程序。而“实验”部分,对我来说更是至关重要。我渴望能够通过亲手操作,来巩固所学的编程知识,比如搭建一个小型分布式集群,运行MapReduce作业,或者使用Spark进行数据分析。我希望实验能够循序渐进,从简单的例子开始,逐步增加难度,最终让我能够独立完成一些具有实际意义的大数据处理任务。此外,“案例教程”这个亮点,更是让我跃跃欲试。我希望书中能够包含不同行业的大数据应用案例,例如在医疗健康领域,如何利用大数据进行疾病预测;在金融领域,如何进行欺诈检测;或者在物联网领域,如何处理海量传感器数据。我希望这些案例能够提供详细的解决方案设计、实施过程和结果分析,让我能够更直观地了解大数据技术在解决实际问题中的威力,并从中获得启发。

评分

这本书的标题《大数据基础编程、实验和案例教程》听起来就充满了“干货”,这一点非常对我的胃口。我过去接触过一些零散的大数据资料,但总感觉碎片化,缺乏系统性。尤其是在编程方面,我希望这本书能够提供一种由浅入深的学习体验。我期待它能从Python或Java这样的大数据常用编程语言入手,介绍如何利用这些语言来处理和分析海量数据。不仅仅是基础语法,更重要的是如何利用大数据相关的库和工具,比如Pandas、NumPy在数据清洗和预处理中的应用,或者如何使用SQL进行数据查询和分析。它提到的“实验”部分,我希望能够提供一些实际的编程挑战,让我能够边学边练,将理论知识转化为实际操作能力。最好是能够有配套的代码示例,甚至是GitHub仓库,方便我下载和运行,并能进行修改和实验。而“案例教程”则是我最看重的一部分。我一直认为,学习技术最终是为了解决实际问题。如果这本书能通过一些真实的商业案例,来展示大数据技术是如何被应用在各个行业,例如用户画像构建、精准营销、供应链优化等,那将极大地提升我的学习兴趣和动力。我希望这些案例能够深入剖析问题的背景、解决方案的设计以及最终的成效,让我能够清晰地看到大数据技术在商业价值上的体现。这样,我不仅能掌握技术,还能理解技术背后的商业逻辑,这对我来说非常有价值。

评分

这本书简直是为我量身定做的!作为一名对大数据领域充满好奇但又不知从何下手的新手,我一直希望能找到一本既能讲解基础概念,又能通过实践来巩固知识的教程。这本书的名字《大数据基础编程、实验和案例教程》立刻吸引了我,它精准地击中了我的痛点。我期待着它能够清晰地梳理大数据技术体系的脉络,比如Hadoop、Spark这些名字虽然听过,但具体原理和应用场景总是有些模糊。我希望这本书能从最基础的HDFS、MapReduce讲起,用通俗易懂的语言解释它们的运行机制,再逐步深入到更高级的框架。最重要的是,它提到的“实验”部分,这对我来说是至关重要的。纸上谈兵终觉浅,我需要实际动手去操作,去搭建环境,去编写代码,才能真正理解大数据处理的流程。我希望实验部分能提供详细的操作步骤,甚至是预设好的数据集,让我能够快速上手,不至于在环境搭建上耗费太多时间,而是能更专注于学习和理解大数据技术本身。最后,那个“案例教程”更是我期待的亮点。理论学习之后,我迫切地想知道这些技术是如何在真实世界中解决问题的,例如在电商推荐、金融风控、舆情分析等场景下,大数据是如何发挥作用的。我希望案例分析能贴近实际,展现大数据技术的强大能力,也能给我一些启发,让我思考如何将所学应用到未来的工作中。总而言之,这本书的出现,让我看到了通往大数据世界的清晰路径,我迫不及待地想翻开它,开始我的学习之旅。

评分

不得不说,《大数据基础编程、实验和案例教程》这个书名,直接戳中了我的“学习痒点”。我一直在寻找一本能够真正让我“学会”大数据的书,而不是仅仅停留在概念层面。我特别看重它里面提及的“实验”和“案例”部分,因为我认为学习编程和技术,实践是检验真理的唯一标准。我希望这本书能够提供清晰、可操作的实验环境搭建指南,比如如何配置Hadoop、Spark集群,以及如何在本地进行模拟实验。我期待实验项目能够覆盖大数据处理的各个环节,从数据采集、存储、清洗、转换,到分析和可视化。更重要的是,我希望实验能够有明确的学习目标,并且在完成后,我能够真正理解所学知识点。至于“案例教程”,我希望它能够展示一些有代表性的应用场景,比如在大数据背景下,如何进行社交媒体情感分析,或者如何构建一个简单的推荐系统。我希望这些案例能够足够贴近实际业务,让我能够理解大数据技术是如何解决现实世界中的复杂问题的。如果案例能够包含数据分析的思路、算法的选择以及结果的解读,那就更好了。我期待这本书能够带我走出理论的迷雾,真正迈入大数据的实践殿 go。

评分

挺好的,送货速度很快,质量不错

评分

快递很快 书很好

评分

回头看看 书籍基本都是京东买的 还是因为快吧

评分

还不错,没具体看。。。。。。。。。。。。感觉不错

评分

很喜欢,真的不错,对于大数据的知识很全面

评分

回头看看 书籍基本都是京东买的 还是因为快吧

评分

书不错,比较满意,挺好的。

评分

很新 并且指导详细 很适合新入门的人

评分

回头看看 书籍基本都是京东买的 还是因为快吧

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有