Hive 入门教程

Hive 教程摘要


Apache Hive 有助于快速查询和管理大型数据集。它是 Hadoop 生态系统的一个 ETL 工具。在这个 Apache Hive 入门教程中,您将学习 Hive 的基础知识以及 HQL 查询、数据提取、分区、分桶等重要主题。这个 Hive 教程系列将帮助您学习 Hive 的概念和基础知识。

我需要了解什么?


要学习这个 Hive 查询教程,您需要具备 SQLHadoop 的基础知识,了解其他数据库知识将会有额外帮助。

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 的查询语言进行交互和数据建模
  • 它编译的语言中有两个主要任务。一个是 map 任务,另一个是 reducer 任务。
  • 我们可以使用 Java 或 Python 定义这些任务
抽象级别 HDFS 之上的更高级别抽象 较低级别的抽象
代码效率 相对低于 Map Reduce 提供高效率
代码量 执行所需的代码行数较少 需要定义更多的代码行
所需的开发工作类型 所需开发工作较少 需要更多开发工作
点击查看下一篇教程