Apache Hive 初学者终极教程:从零开始学习 Hive
已发表: 2020-03-20Apache Hive 是一个建立在 Hadoop 之上的开源数据仓库系统。 它用于查询和分析存储在 Hadoop 文件中的大型数据集。 本Apache Hive 教程将帮助您了解其基础知识、特征和用法。
在数字时代,每天产生大约 2.5 万亿字节的数据。 我们需要创新技术来遏制这种数据爆炸。 而 Hive 就是这样一种工具,可以在行业领先的 Hadoop 生态系统中处理结构化和半结构化数据。 随着越来越多的雇主寻求利用大数据的能力,他们正在寻找精通 Hadoop 工具的人。 因此, Hadoop Hive 教程对于初学者来说是任何大数据课程的重要组成部分。
目录
什么是蜂巢? 用通俗的话来解释。
Apache Hive 允许开发人员汇总数据、运行查询和分析大型数据集。 它建立在 Hadoop 分布式文件系统 (HDFS) 之上,通过将数据组织成表来为数据带来更多结构。 此外,Hive 使用其 HiveQL 或 HQL 语言对数据执行类似 SQL 的查询。
虽然 SQL 在传统数据库上执行,但 HQL 可以自动将查询转换为 MapReduce 作业。 Hive 通过将 SQL 查询转换为要在 Hadoop 集群上执行的一系列作业来抽象 Hadoop 的复杂性。 因此,要掌握 Apache Hive,您需要对 SQL 有基本的了解。 但是没有必要学习Java。
继续我们的Apache Hive 教程,让我们讨论它在现代工作环境中的用途。
为什么需要使用 Hive?
传统的数据库系统无法处理当今大数据应用程序生成的大量数据。 而Hadoop就是解决这个问题的框架。 各种工具帮助 Hadoop 模块,Hive 就是其中之一。 使用 Apache Hive,您可以执行以下任务:

- 可以对表进行分区和分桶,从而可以处理存储在 Hadoop 分布式文件系统 (HDFS) 中的数据。 表直接在 HDFS 中定义
- JDBC/ODBC 驱动程序可用于与传统技术集成
- 提供模式灵活性和演变以及数据汇总,促进更轻松的分析
- 使您免于编写复杂的 Hadoop MapReduce 作业
- 分区和桶的概念可实现快速数据检索
- 对于 SQL 开发人员来说非常容易学习和实现
- 快速且可扩展的系统
- Hive 支持不同类型的文件,例如 Text 文件、Sequence 文件、RC 文件、ORF 文件、Parquet 文件和 AVRO 文件
Hive 架构的主要组件是什么?
1.用户界面:允许您提交查询、处理指令和管理指令。 命令行界面 (CLI) 和 Web UI 允许外部用户连接 Hive。
2. Metastore:顾名思义,Metastore 保存了数据库的元数据。 它包含有关表的方案和位置的信息。 它还存储分区元数据。 存在于传统的关系型数据库上,它可以让您监控集群中的分布式数据。 它跟踪数据、复制数据并提供备份。
3. 驱动程序:它是流程引擎中接收 HiveQL 语句的部分。 驱动程序创建会话以执行语句并监控其生命周期。 它还存储语句执行期间生成的元数据。

4. 编译器:这部分 HiveQL 流程引擎将查询转换为 MapReduce 输入,例如抽象语法树 (AST) 和有向无环图 (DAG)
5. 优化器: Hive 架构的这个组件在执行计划中执行转换以提供优化的 DAG。 它拆分任务以获得更好的性能。
6. Executor:它调度或流水线任务以完成执行过程。 为此,它与 Hadoop 作业跟踪器交互。
阅读:面向初学者的 Hadoop 教程
如果不讨论这些 Hive 组件如何相互交互以执行查询,则本Apache Hive 教程是不完整的。 因此,我们列出了以下步骤。
第 1 步:用户在 CLI 或 Web UI 中输入查询,然后将查询转发给驱动程序。
第 2 步:驱动程序将查询传递给编译器进行检查。 编译器确保语法的准确性。
第 3 步:编译器向 Metastore 请求所需的元数据,以便继续进行。
Step 4:编译器收到元数据后,将执行计划重新发送给驱动程序。
第 5 步:驱动程序将此计划转发给执行引擎。
第 6 步:执行引擎执行最后阶段。 它将任务发送到 Hadoop 的 MapReduce 模块中的 JobTracker(名称节点)。
步骤 7: JobTracker 进一步将任务分配给 TaskTracker(数据节点)。
第 8 步:查询被执行并发回执行器。
第 9 步:执行器将结果发送给驱动程序。
第 10 步:驱动程序将结果转发到 Hive 的用户界面。

阅读:印度的 Hadoop 开发人员薪水
你对蜂巢壳了解多少?
Hive Shell 允许用户运行 HQL 查询。 它是 Hive 的命令行界面。 您可以在两种模式下运行 Hive Shell:
- 非交互式:使用 -f 选项指定包含 HQL 查询的文件的位置。 例如,配置单元 -f my-script.q
- 交互式:直接进入 Hive Shell 并手动提交查询以获取结果。 比如$bin/hive,去hive shell
列出 Hive 的一些限制
- 它提供有限的子查询支持
- Hive 查询具有高延迟
- Apache Hive 中不允许物化视图
- 它不提供实时查询、行级更新、更新和删除操作
- Apache Hive 不适合在线过渡进程或 OLTP
加起来
在这个Hadoop Hive 教程中,我们介绍了 Hive 的不同方面、它的用法和架构。 我们还深入研究了它的工作原理并讨论了它的局限性。 所有这些信息将帮助您开始您的 Hive 学习之旅。 毕竟,它是使用最广泛、最值得信赖的大数据框架之一!
如果您有兴趣了解有关大数据的更多信息,请查看我们的 PG 大数据软件开发专业文凭课程,该课程专为在职专业人士设计,提供 7 多个案例研究和项目,涵盖 14 种编程语言和工具,实用的动手操作研讨会,超过 400 小时的严格学习和顶级公司的就业帮助。
从世界顶级大学在线学习软件开发课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。