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