【图书推荐】《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.mfbz.cn/a/716062.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Android】安Android Studio环境搭建注意点

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

通过python操作redis(windows)

注意在连接之前要确保 redis 服务已经安装。 更多的安装信息请查看:https://blog.csdn.net/sinat_20471177/article/details/132042779?spm1001.2014.3001.5501 redis 模块 Python 要使用 redis,需要先安装 redis 模块。如果要做数据导入/导出操作的…

VMware虚拟机-Ubuntu设置共享文件夹(超详细)

目录 前言1. 其他教程2. 创建共享文件夹3. VMware 设置4. Ubuntu 设置4.1 创建 hgfs 目录:4.2 挂载共享目录4.3 验证是否挂载成功4.4 设置开机自动挂载创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违者必究!!! 创作不易,禁止转载抄袭!!!违…

elasticsearch过滤器filter:原理及使用

码到三十五 : 个人主页 目录 一、引言二、Elasticsearch的过滤器概述三、使用DSL进行过滤操作术语过滤范围过滤复合过滤 四、优化策略五、结语 一、引言 Elasticsearch是一个功能强大的开源搜索引擎,广泛应用于各种数据检索和处理场景。在Elasticsearch…

jetson nano音频驱动代码分析

jetson nano音频驱动代码分析 英伟达audio框架(abub) Platform和Codec驱动程序的功能是 tegra210-admaif:代表音频 DMA (ADMA) 和音频集线器 (AHUB) 之间接口的内核驱动程序 tegra210-xxxx:代表AHUB中各种硬件加速器的内核驱动 tegra210-ahub&#xff1…

怎么缩小pdf文件大小

在数字化时代,pdf文件已经成为我们日常生活和工作中不可或缺的一部分。然而,随着pdf文件内容的增多,其大小也会相应增加,这给文件的传输、存储和共享带来了诸多不便。因此,如何有效地压缩pdf文件大小,成为了…

21组Midjourney绘画关键词,专为游戏设计的奇异生物的盛宴

21组AI绘画关键词,无一不在专为游戏设计的领域中发挥着巨大的作用。从2D游戏艺术到Xbox 360图形,从科幻怪物到异世界写实,这些关键词为游戏开发者提供了丰富多彩的创意资源。通过AI绘画工具,游戏画面呈现更加逼真、独特的设计风格…

【Linux应用】Linux系统的设备管理——Udev

1.udev概述 udev是 Linux2.6内核里的一个功能,它替代了原来的 devfs,成为当前 Linux 默认的设备管理工具,能够根据系统中的硬件设备的状态动态更新设备文件,包括设备文件的创建,删除等。 udev以守护进程的形式运行&am…

开源、无广告的小巧的动态壁纸软件

一、简介 1、开源、无广告的小巧的动态壁纸软件。它是绿色软件,软件压缩包大小仅有 0.5MB,目前仅支持 Windows 平台。它简单好用,支持将各种尺寸、分辨率的 MP4、MOV 等主流格式的视频文件设置为桌面动态壁纸,性能表现以及稳定性都…

【NOI】C++程序结构入门之循环结构四——带余除法

文章目录 前言一、带余除法1.1 概念1.2 编程中的使用1.2.1 模运算1.2.2 判断奇偶性1.2.3 判断倍数关系1.2.4 循环和迭代控制1.2.5 密码学与安全1.2.6 算法设计1.2.7 数据验证与错误处理 二、例题讲解问题:1389 - 数据分析问题:1750 - 有0的数问题&#x…

【Unity实战篇】| 快速制作一个简易时钟,包括2D和3D时钟

前言 【Unity实战篇】| 快速制作一个时钟,包括2D和3D时钟一、2D时钟制作1.1 钟表盘制作1.2 指针制作1.3 钟表搭建1.4 设置时钟的中心点1.5 时钟旋转逻辑 二、3D时钟制作2.1 搭建表盘和指针2.2 调整指针的位置和节点2.3 时钟旋转逻辑 总结 前言 时钟 这个东西想必不…

【C++】数据类型、函数、头文件、断点调试

四、基本概念 这部分和C语言重复的部分就简写速过,因为我之前写过一个C语言的系列,非常详细。C和C这些都是一样的,所以这里不再一遍遍重复码字了。感兴趣的同学可以翻看我之前的C语言系列文章。 1、数据类型 编程的本质就是操作数据。 操…

PyCharm配置教程,手把手教你如何配置

文章目录 引言1. 安装 PyCharm1.1 下载和安装1.2 初次启动 2. 基本配置2.1 设置界面2.2 常用配置项 3. 项目配置3.1 创建新项目3.2 配置解释器 4. 虚拟环境配置4.1 创建虚拟环境4.2 使用已有虚拟环境4.3 管理依赖 5. 插件和扩展5.1 安装插件5.2 推荐插件 6. 调试配置6.1 配置调…

React+TS前台项目实战(九)-- 全局常用组件弹窗Dialog封装

文章目录 前言Dialog公共弹窗组件1. 功能分析2. 代码详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局公共弹窗Dialog组件封装,将用到上篇封装的模态框Modal组件。有时在前台项目中,偶尔要用到一两个常用的组件,如 弹窗&#x…

Linux常⽤服务器构建-samba

目录 1. 介绍 2. 安装 3. 配置 3.1 创建存放共享⽂件的路径 3.2 创建samba账户 4 重启samba 5. 访问共享⽂件 5.1 mac下访问⽅式 5.2 windows下访问⽅式 1. 介绍 Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的⼀个免费软件,能够完成在 windows 、 mac 操作系统…

6.12ctf练习

[西湖论剑 2022]Node Magical Login 源码在这里:GitHub - CTF-Archives/2022-xhlj-web-node_magical_login: A web challenge in 2022 西湖论剑大赛打开 打开环境是个登录框,先进行了扫描和抓包都没有看见什么有价值的东西,看源码 大致连接…

LeetCode136只出现一次的数字

题目描述 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 解析 需要想到异或运算&#…

【BES2500x系列 -- RTX5操作系统】系列文章索引

💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

如何将asf转换成mp4?教你3种轻松转换方法

如何将asf转换成mp4?ASF是一种视频格式,但在现代的视频编辑和播放中,MP4格式因其广泛的兼容性和高质量的压缩技术而备受欢迎。因此,将ASF转换为MP4格式的需求时常出现。MP4还采用了高效的压缩技术,能在保证视频质量的同…

前端JS必用工具【js-tool-big-box】学习,打开全屏和关闭全屏

这一小节,我们说一下 js-tool-big-box 工具库中,打开全屏和关闭全屏的方法学习。 我们知道,浏览器想打开全屏,按一下 F11 键就可以了,但一来这个功能不一定所有使用的用户都知道,二来在一些例如大屏的需求…