Hive 初学者教程:3 天通过示例学习
Hive 教程摘要
Apache Hive 可帮助您快速查询和管理大型数据集。它是一个 ETL工具 适用于 Hadoop 生态系统。在本 Apache Hive 初学者教程中,您将学习 Hive 基础知识和重要主题,如 HQL 查询、数据提取、分区、存储桶等。本 Hive 教程系列将帮助您学习 Hive 概念和基础知识。
我应该知道什么?
要学习本 Hive 查询教程,您需要具备以下基本知识: 数据库, Hadoop的 其他数据库的知识也会有额外的帮助。
Hive 课程大纲
介绍
👉 Less上1 | 什么是Hive? - Archi结构与模式 |
👉 Less上2 | 下载并安装HIVE — 如何在 Ubuntu |
👉 Less上3 | HIVE Metastore 配置 — 为什么要使用 MySQL? |
👉 Less上4 | Hive 数据类型 — 在 Hive 中创建和删除数据库 |
进阶的东西
👉 Less上1 | Hive 创建表 — 类型及其用法 |
👉 Less上2 | 蜂巢分区和存储桶 — 通过实例学习 |
👉 Less上3 | Hive 索引和视图 — 通过实例学习 |
👉 Less上4 | Hive 查询 — 通过实例学习 |
👉 Less上5 | Hive 连接 & 子查询教程 — 通过实例学习 |
👉 Less上6 | Hive 查询语言教程 - 内置 Opera职权范围 |
👉 Less上7 | Hive 函数 — 内置和用户定义函数 |
👉 Less上8 | Hive ETL — 加载 JSON、XML、文本数据示例 |
Hive 简介
Hive 是一种建立在 Hadoop Map-Reduce 框架之上的数据仓库解决方案。
行业中收集和分析的数据集的大小 商业智能 正在不断增长,从某种程度上来说,它使得传统数据仓库解决方案变得更加昂贵。 Hadoop的 借助 MapReduce 框架,Hadoop 正被用作分析海量数据集的替代解决方案。尽管 Hadoop 已被证明可用于处理海量数据集,但其 MapReduce 框架非常低级,需要程序员编写难以维护和重用的自定义程序。Hive 的出现是为了拯救程序员。
Hive 引擎 将这些查询编译为 Map-Reduce 作业以在 Hadoop 上执行。此外,自定义 Map-Reduce 脚本也可以插入到查询中。Hive 操作存储在表中的数据,这些表由原始数据类型和集合数据类型(如数组和映射)组成。
Hive 带有命令行 shell 界面,可用于创建表和执行查询。
Hive 查询语言与 SQL 类似,它支持子查询。使用 Hive 查询语言,可以跨 Hive 表进行 MapReduce 连接。它支持简单的 类似 SQL 的函数– CONCAT、SUBSTR、ROUND 等,以及 聚合函数– SUM、COUNT、MAX 等。它还支持 GROUP BY 和 SORT BY 子句。还可以用 Hive 查询语言编写用户定义函数。
什么是Hive?
阿帕奇蜂巢 是一个数据仓库框架,用于查询和分析存储在 HDFS 中的数据。它是在 Hadoop 之上开发的。Hive 是一个开源软件,用于分析 Hadoop 上的大型数据集。它提供了类似于 SQL 的声明性语言(称为 HiveQL)来表达查询。使用 Hive-QL,与 SQL 可以非常轻松地进行数据分析。
Hive 与 Map Reduce
在选择这两个选项之一之前,我们必须了解它们的一些特点。
在 Hive 和 Map Reduce 之间进行选择时,需要考虑以下因素;
- 资料类型
- 数据量
- 代码复杂性
Hive 与 Map Reduce 相比?
专栏 | 蜂房 | 地图缩小 |
---|---|---|
Language | 它支持类似 SQL 的查询语言,用于交互和数据建模 |
|
抽象级别 | HDFS 之上更高级别的抽象 | 较低抽象级别 |
代码效率 | 比 Map Reduce 相对较少 | 提供高效率 |
代码范围 | Less 执行所需的代码行数 | 需要定义更多行代码 |
所需开发工作类型 | Less 需要开发工作 | 需要更多的开发工作 |