本书重点
Hive的网站流量分析项目、旅游酒店评价大数据分析项目,两个案例(均包括SQL和Java编程两种解决方法,SQL实现不用编程)可用于课题研究和毕业论文素材。
内容简介
Hive是基于Hadoop的一个数据仓库工具,用来进行数据的提取、转换、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive能将结构化的数据文件映射为一张数据库表,并能提供SQL查询分析功能,将SQL语句转换成MapReduce任务来执行,从而实现对数据进行分析的目的。
本书配套示例源码、PPT课件、教学大纲。本书可作为Hive数据仓库初学者的入门书,也可作为Hive大数据分析与大数据应用开发工程师的指导手册,还可作为高等院校或者高职高专计算机技术、人工智能、大数据技术及相关专业的教材或教学参考书。
《Hive入门与大数据分析实战》共分11章,内容包括数据仓库与Hive、Hive部署与基本操作、Hive语法基础、Hive数据定义、Hive数据操作、Hive查询、Hive函数、Hive数据压缩、Hive调优、基于Hive的网站流量分析项目实战、旅游酒店评价大数据分析项目实战。最后的两个项目实战(均包括SQL和Java编程两种解决方法)帮助读者提高Hive大数据分析的综合实战能力。
适合读者
本书注重基础,内容翔实,突出示例讲解,既可以作为从事数据分析处理的科研工程技术人员的自学用书,也可以作为高等学校相关专业的本科生、研究生的教学用书。
作者简介
迟殿委,计算机软件与理论专业硕士,系统架构设计师。有多年企业软件研发经验和丰富的JavaEE、大数据技术培训经验,熟练掌握JavaEE与大数据全栈技术框架,擅长JavaEE系统架构设计、大数据分析与挖掘。著有图书《Hive入门与大数据分析实战》《Hadoop大数据分析技术》《Hadoop+Spark大数据分析实战》《Spring Boot企业级开发实战(视频教学版)》《深入浅出Java编程》《Spring Boot+Spring Cloud微服务开发》。
前言
如今各个行业都积累了海量的历史数据,并不断产生大量的新数据,数据计量已经发展到PB、EB、ZB、YB,甚至BB、NB、DB级别。由此催生了一门全新的技术—Hive离线计算。Hive是Hadoop生态体系的关键组件之一,它的出现使得海量数据可以继续使用传统的数据分析方法SQL语句来处理,降低了数据分析人员的学习成本。数据分析人员不需要学习新的脚本语言,可以继续使用熟悉的SQL结构化查询语句来分析大规模数据。但是,Hive的SQL语句不再运行在传统的数据库或者数据仓库中,而是运行在大数据分布式并行计算处理平台上。
本书内容
本书内容按照从易到难、理论与实战相结合的思路来组织。俗话说“工欲善其事,必先利其器”,本书在介绍数据仓库和Hive的基本概念之后,马上开始讲解从创建虚拟机、安装Linux操作系统到逐步完成Hive部署的详细过程;然后在部署完成的Hive环境基础上,学习Hive语法基础、Hive数据定义语言、Hive数据操纵语言、Hive数据基本查询等相关操作;接下来深入介绍Hive的其他功能,包括Hive函数、Hive数据压缩、Hive调优等;最后,本书通过网站流量分析项目实战、旅游酒店评价大数据分析项目实战这两个开发案例,帮助读者提升大数据分析的综合实战能力。这两个实战项目都给出了SQL实现和Java编程实现这两种解决方法,为读者做大数据开发起到抛砖引玉的作用。
本书目的
本书目的是带领读者系统掌握Hive大数据分析工具的使用与开发方法,并通过两个综合项目案例帮助读者提高Hive大数据分析的实战能力。
配套示例源码、PPT课件
本书配套示例源码、PPT课件、教学大纲,需要用微信扫描右边二维码获取。如果阅读中发现问题或疑问,请联系booksaga@163.com,邮件主题写“Hive入门与大数据分析实战”。
本书适合的读者
本书可作为Hive数据仓库初学者的入门书、Hive离线大数据分析人员的参考手册,也可作为高校开设大数据平台搭建、数据仓库技术或大数据开发课程的参考教材。
学习本书要求读者有一定的Java编程基础并了解Linux系统的基础知识。本书每一个章节的实践操作都有详细清晰的步骤讲解,即使读者没有任何大数据基础,也可以对照书中的步骤成功搭建属于自己的大数据分析平台;可以说本书是一本真正能提高读者动手能力、以实操为主的Hive入门书。通过本书的学习,结合每章的示例源代码,读者能够迅速理解和掌握Hive技术框架,并能熟练使用Hive数据仓库进行大数据分析和大数据应用开发。
笔 者
2023年3月
目录
目 录
第1章 数据仓库与Hive1
1.1 数据仓库概述1
1.1.1 数据仓库特征与重要概念1
1.1.2 数据仓库的数据存储方式2
1.2 Hive数据仓库简介5
1.3 Hive版本和MapReduce版本的WordCount比较6
1.4 Hive和Hadoop的关系7
1.5 Hive和关系数据库的异同8
1.6 Hive数据存储简介9
第2章 Hive部署与基本操作11
2.1 Linux环境的搭建11
2.1.1 VirtualBox虚拟机安装11
2.1.2 安装Linux操作系统13
2.1.3 SSH工具与使用19
2.1.4 Linux统一设置21
2.2 Hadoop伪分布式环境的搭建23
2.2.1 安装本地模式运行的Hadoop23
2.2.2 Hadoop伪分布式环境的准备25
2.2.3 Hadoop伪分布式的安装29
2.3 Hadoop完全分布式环境的搭建35
2.3.1 Hadoop完全分布式集群的搭建35
2.3.2 ZooKeeper高可靠集群的搭建40
2.3.3 Hadoop高可靠集群的搭建44
2.4 Hive的安装与配置53
2.4.1 Hive的安装与启动53
2.4.2 基本的SQL操作命令54
2.5 Hive的一些命令56
2.5.1 显示Hive的帮助56
2.5.2 显示Hive某个命令的帮助56
2.5.3 变量与属性56
2.5.4 指定SQL语句或文件57
2.5.5 显示表头58
2.6 Hive元数据库58
2.6.1 Derby58
2.6.2 MySQL60
2.7 MySQL的安装61
2.8 配置MySQL保存Hive元数据62
2.9 HiveServer2与Beeline配置65
第3章 Hive语法基础68
3.1 数据类型列表68
3.2 集合类型69
3.2.1 array测试70
3.2.2 map测试71
3.2.3 struct测试71
3.3 数据类型转换72
3.4 运算符73
3.5 Hive表存储格式74
3.6 Hive的其他操作命令75
3.7 Hive分析Tomcat日志案例76
第4章 Hive数据定义79
4.1 数据库的增删改查79
4.1.1 在默认位置创建数据库79
4.1.2 指定目录创建数据库80
4.1.3 显示当前使用的数据库81
4.1.4 删除数据库81
4.2 创建内部表81
4.3 使用关键字external创建外部表83
4.3.1 指定现有目录84
4.3.2 先创建表,再指定目录84
4.3.3 显示某个表或某个分区的信息85
4.4 创建分桶表86
4.5 分区表89
4.5.1 创建和显示分区表89
4.5.2 增加、删除和修改分区90
4.6 显示某张表的详细信息92
4.7 指定输入输出都是SequenceFile类型94
4.8 关于视图94
4.8.1 使用视图降低查询的复杂度94
4.8.2 查看视图的信息95
4.8.3 删除视图95
第5章 Hive数据操作96
5.1 向表中装载数据96
5.2 通过Insert向表中插入数据97
5.3 动态分区插入数据98
5.4 创建表并插入数据100
5.5 导出数据100
第6章 Hive查询103
6.1 SelectFrom语句103
6.2 Select基本查询104
6.3 Where语句105
6.4 Group By语句107
6.5 Join语句108
6.6 排序110
6.6.1 Order By110
6.6.2 Sort By112
6.6.3 Distribute By113
6.6.4 Cluster By114
6.7 抽样查询114
第7章 Hive函数117
7.1 查看系统内置函数117
7.2 常用内置函数117
7.3 Hive的其他函数121
7.3.1 准备数据121
7.3.2 其他函数的使用121
7.3.3 显示某个函数的帮助信息131
7.4 自定义函数132
7.4.1 Hive自定义UDF的过程132
7.4.2 Hive UDTF函数135
第8章 Hive数据压缩138
8.1 数据压缩格式138
8.2 数据压缩配置139
8.2.1 Snappy压缩方式配置139
8.2.2 MapReduce支持的压缩编码141
8.2.3 MapReduce压缩参数配置142
8.3 开启Map端和Reduce端的输出压缩142
8.4 常用Hive表存储格式比较144
8.5 存储与压缩相结合148
第9章 Hive调优151
9.1 Hadoop计算框架特性151
9.2 Hive优化的常用手段151
9.3 Hive优化要点152
9.3.1 全排序152
9.3.2 怎样做笛卡儿积156
9.3.3 怎样写exist/in子句156
9.3.4 怎样决定Reducer个数156
9.3.5 合并MapReduce操作157
9.3.6 Bucket与Sampling157
9.3.7 Partition158
9.3.8 Join158
9.3.9 数据倾斜160
9.3.10 合并小文件161
9.3.11 Group By163
第10章 基于Hive的网站流量分析项目实战164
10.1 项目需求及分析164
10.1.1 数据集及数据说明164
10.1.2 功能需求165
10.2 利用Java实现数据清洗165
10.2.1 数据上传到HDFS166
10.2.2 http.log数据清洗166
10.2.3 phone.txt数据清洗170
10.3 利用MySQL实现数据清洗173
10.3.1 http.log数据清洗173
10.3.2 phone.txt数据清洗175
10.4 数据分析的实现176
10.4.1 创建Hive库和表176
10.4.2 使用SQL进行数据分析176
第11章 旅游酒店评价大数据分析项目实战180
11.1 项目介绍180
11.2 项目需求及分析181
11.2.1 数据集及数据说明181
11.2.2 功能需求183
11.3 利用Java实现数据清洗184
11.3.1 本地Hadoop运行环境搭建184
11.3.2 数据上传到HDFS186
11.3.3 Hadoop数据清洗189
11.4 利用MySQL实现数据清洗192
10.4.1 hotelbasic.csv数据清洗192
10.4.2 hoteldata.csv数据清洗193
11.5 数据分析的实现194
11.5.1 构建Hive数据仓库表194
11.5.2 导出结果数据到MySQL197
11.6 分析结果数据可视化200
11.6.1 数据可视化开发200
11.6.2 数据可视化部署208
正版购买
《Hive入门与大数据分析实战(大数据技术丛书)》(迟殿委)【摘要 书评 试读】- 京东图书 (jd.com)