HIVE 执行和安装模式

问题描述

在 HIVE 安装和执行过程中,我遇到了以下术语。有人可以确认我的理解并为我的几个问题提供宝贵的答案。

我们安装 HIVE 后,没有进程在运行和监听请求(如 RDBMS)。 HIVE 的所有必要组件都安装在集群的所有节点中。这使得可以在集群中的任何机器上调用 HIVE。我在这里正确吗?

元商店: 它是一个 RDBMS 软件,认情况下,当我们安装 HIVE 时这是 Derby。由于它具有在给定时间点最多只有一个活动连接的限制,因此不能对其进行并行连接。因此,在所有生产环境中,都使用另一个 RDBMS 数据库MysqL / sql Server)。这是存储 HIVE 表的元数据信息的地方。当此数据库启动并运行时,它会在端口中侦听请求。我们将其称为数据库服务

元服务: 我的理解是,这是另一层服务,它联系数据库服务并从 RDBMS 返回请求的信息。

问: 为什么其他需要元数据信息的进程无法连接到RDBMS,无法自行检索信息?为什么需要元服务?元服务是为了统一吗?或者它是一种写在 RDBMS 上的 ORM?

HiveServer: 这是一个定制版的用于 HIVE 执行的 Thrift 框架(实际上,我们可以通过使用 Thrift 将任何程序作为 Web 服务。实施后,服务将开始运行并监听请求)。当我们想要查询 HIVE(就像我们对其他数据库一样)时,我们从客户端(来自编程语言/其他 JDBC 客户端)向 Thrift 服务器发送查询,并且在 Meteaservice 的帮助下,Thrift 服务调用 HIVE 查询执行引擎(QEE ) 并返回结果。我的理解正确吗?

直线: 它是一个 JDBC 客户端,它发布查询并以格式良好的方式打印结果。这可以在以下情况下调用: 1. 嵌入式模式 2. 远程模式。 在本地模式下,Beeline 会直接调用 HIVE 查询执行引擎并打印结果。我也读到过,需要元服务。所以我的理解是 HIVE QEE 还使用元服务。

问。那么,如果只有 HIVE QEE 知道元服务在哪里运行就足够了吗?

在远程模式下,查询被发送到 Thrift 服务器并打印结果。我说的对吗?

此外,当我试图了解远程和本地 metastore间的区别时,许多文章都讨论了在相同的 JVM 和不同的 JVM 中运行它们。当我试图从流程及其依赖关系的角度考虑它们时,我无法想象。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...