【图书推荐】《Hive入门与大数据分析实战》

本书重点

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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/28970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion基础:ControlNet之细节替换

本文继续给大家分享 Stable Diffusion 的基础能力:ControlNet之细节替换,故事的主角是 Tile。 Tile 的原意是瓦片、瓷砖。作为 ControlNet,它会对参考图进行分块,并识别出区块内的对象。如果提示词和区块内的对象匹配&#xff0c…

ucos抢占式实时多任务操作系统 (RTOS)。

介绍 uCOS (也称为 μC/OS 或 Micro-Controller Operating System) 是一个开源的、可移植的、可裁剪的、抢占式实时多任务操作系统 (RTOS)。它最初由 Jean J. Labrosse 编写,并广泛用于嵌入式系统设计中。uCOS 是一个小型的 RTOS,非常适合那些需要实时性…

使用 calibre 拆分电子书合辑

文章目录 引言下载插件拆书设置封面等元信息 引言 下载电子书合辑后,想拆分为单独成册的文件 https://bookfere.com/post/603.html 教程使用 calibre 的 EpubSplit 插件,这里我跟着实践,记录在此,希望能帮助你。 本文基于 macOS …

算法:11. 盛最多水的容器

11. 盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你…

Windows采用txt和bat来一次性建立多个文件夹

前言 最近工作需要一次性建立多个文件夹,方便保存不同的数据,所以在网上搜了搜方法,方法还挺多的,这里只是给出流程最简洁、最适合自己的方法,供自己日后回顾,如果大家想学习更多方法可以百度一下。 方法…

清远mes管理系统助力企业降本增效

清远MES管理系统可以帮助企业降本增效的方式包括但不限于以下几个方面: 生产过程优化:清远MES系统可以实时监控生产过程中的各个环节,包括设备状态、生产进度、质量指标等,帮助企业管理人员及时了解生产情况并做出相应的调整和控制…

APP Android

APP Android 安卓源生应用程序 APP IOS-CSDN博客 05.04 06:11Testing

C#反射机制介绍

文章目录 简介一、什么是反射二、反射的用途三、反射用到的命名空间及主要类四、Type类五、Assembly类六、使用反射实现上面的程序七、反射的优缺点 简介 这篇文章介绍了C#的反射机制,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值&a…

2024北京智源大会

北京智源大会是年度国际性人工智能高端学术交流的盛会,定位于内行的AI盛会。智源大会紧密围绕当前人工智能学术领域迫切需要解决的问题,以及产业落地过程中存在的诸多挑战,开展深入探讨。智源研究院是2018年11月份成立的一家人工智能领域的新…

oracle发送http请求

UTL_HTTP包让SQL和PLSQL能够调用超文本传输协议(HTTP),也就是说可以使用它在Internet上访问数据。 当包用HTTPS从Web site获取数据时,要使用Oracle Wallet,它是由Oracle Wallet Manager或者orapki utility创建。非HTT…

Web应用安全测试-防护功能缺失

Web应用安全测试-防护功能缺失 1、Cookie属性问题 漏洞描述: Cookie属性缺乏相关的安全属性,如Secure属性、HttpOnly属性、Domain属性、Path属性、Expires属性等。 测试方法: 通过用web扫描工具进行对网站的扫描,如果存在相关…

TCP协议为啥会有三次挥手(close、shutdown)

一、前言 使用wireshrak抓包的时候,发现有的TCP断开连接,有的是三次挥手、有的是四次挥手,本文将带领带领大家一探究竟。 1. 四次挥手: 四次挥手流程回顾 第一次挥手: 主动关闭的一方(客户端或服务器&…

算法安全自评估报告如何填写?(附模板)

之前,众森企服给大家讲过办理互联网信息服务算法备案有三部分组成:主体备案、算法备案和产品备案。 主体备案主要审查的就是一家主体公司是否有算法相应的规章制度,里面最主要的就是算法安全管理制度。 算法备案主要审查的就是算法本身的情…

【春秋云镜】Faculty Evaluation System未授权任意文件上传漏洞(CVE-2023-33440)

因为该靶场没有Write up,索性自己搞一下,方便别人,快乐自己! 漏洞概述: Sourcecodester Faculty Evaluation System v1.0 is vulnerable to arbitrary code execution via /eval/ajax.php?actionsave_user. 漏洞复现&#xff…

49.Chome浏览器有三种清缓存方式

49.Chome浏览器有三种清缓存方式:正常重新加载、硬件重新加载、清空缓存并硬性重新加载 1、【正常重新加载】 触发方式:①F5  ②CtrlR  ③在地址栏上回车  ④点击链接 如果缓存不过期会使用缓存。这样浏览器可以避免重新下载JavaScript文件、图像、…

【吉林大学Java程序设计】第8章:IO流

第8章:IO流 1.流与相关类1.1 流的概念1.2 File类1.3 字节流及其方法1.4 字符流及其方法1.5 其他IO流(1)节点流(2)处理流(过滤流)(3)文件流基于字节的文件流基于节符的文件…

Shell脚本(.sh文件)如何执行完毕之后不自动关闭?

Shell脚本异常傲娇,出错后、执行完根本不给你机会让你查看报错信息、输出信息,直接闪退。 废话不多说,调教方法如下,直接在Shell脚本末尾加上如下代码: 1、实现方式一 1.1 使用read命令达到类似bat中的pause命令效果…

深度解析响应式异步编程模型

上一篇文章中我们聊了一下线程池,基于线程池的多线程编程是我们在高并发场景下提升系统处理效率的有效手段,但却不是唯一的。今天我们来看一下另一种异步开发的常用手段-响应式编程模型 传统多线程模型的缺陷 多线程模型是目前应用最为广泛的并发编程手段,但凡遇到什么性能…

语义分割——mmsegmentation框架使用

目录 1.mmsegmentation简介 2.mmsegmentation安装 3.mmsegmentation使用(代码结构介绍) 4.mmsegmentation使用实战(deeplab v3为例) 4.1配置 4.2训练: 4.3预测: 1.mmsegmentation简介 mmsegmentatio…

RAG系列之:深入浅出 Embedding

RAG系列之:深入浅出 Embedding 什么是文本向量化? 文本向量化就是将文本数据转成数字数据,例如:将文本 It was the best of times, it was the worst of times. 转成 [0, 1, 0, 2, 2, 2, 2, 2, 0, 1]。 为什么要进行文本向量化…