问题标签 [hive-metastore]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 如何将 AWS Athena 连接到现有的 Hive Metastore
我需要将 AWS Athena 服务与现有的 Hive Metastore(不是 AWS Glue)集成。
请告诉我如何将 Athena 连接到 Hive Metastore。
hadoop - Hbase , Hive , Hcatalog , Metastore 有何相关或不同
我一直在使用 hive 并且非常容易掌握它,因为它与 SQL 太接近了,因为我之前是一名 DB 开发人员。我还知道 Hive 元存储,它是一个 MYSQL 服务,用于存储我们在 HDFS 数据之上创建的 Hive 表的元数据。
但是后来出现了 HCAT 和 HBASE 术语,从 Hive 开发人员的角度来看,这完全让我感到困惑。
它们是如何相关的以及可以使用的。是真的吗:
HBASE:它可以像 Hive 一样用于创建存储在 HDFS 中的数据的表,但唯一的区别是它是 NOSQL(可以接受非结构化数据并且对模式和列号不严格)?
HCAT:它是另一个由SERDE、METASTORE组成的服务,一直被HIVE使用。Hive 无法在没有此服务的情况下工作,因为它包含 Metastore db?
我真的很困惑。请帮忙。
hadoop - Hive 服务、HiveServer2 和 MetaStore 服务?
我试图hive
从体系结构的角度来理解,我指的是 Tom White 关于 Hadoop 的书。
关于蜂巢,我遇到了以下术语:Hive Services
, hiveserver2
,metastore
等等。
参考书中的下图(Hadoop:权威指南)。
蜂巢架构:
元存储配置:
Hive 架构显示了“驱动程序”是什么:
我无法理解以下内容:
1) Hive Services
Hive 架构图中的内容是什么?当我们说的时候是一样的hiveserver2
吗?
2) Driver
Hive 架构图中是什么?
3)什么是MetaStore
(我不是指 Metastore 数据库)。是某个运行的进程吗?如果是这样,这是否属于hiveserver2
? 根据图表MetaStore
可以是远程的,那么如果这是一个 JVM 进程,它属于哪个组件?
4)它说Hive service JVM
,MetaStore JVM Server
。但是,这些组件安装在哪里?它们是“蜂巢”的“服务器”端的一部分吗?
5)在“Hive Architecture”图中,它说“Hive Server”?这是什么?这就是我们所说的“Hive Server 1”,“Hive Server2”。
任何人都可以帮助理解这一点吗?
hive - 在 Hive 本身中公开 Hive 元数据
我有点期望这会在那里,但显然不是。Hive 不会在其环境中公开其自己的元数据。例如,像 Oracle 一样,它允许您对创建的表使用“user_tables”。
我理解并欣赏 hive 元数据在外部存储在 RDBMS 中的事实,但作为构建不同类型查询的用户,访问我正在工作的环境的上下文元数据很有用。
既然 HCatalog 将元数据公开给任何愿意的人,为什么 hive 引擎不能拾取相同并允许它可见!
我知道在实现这一目标的过程中可能会遇到一些挑战,但我要问的是,“是否有任何工作流可以实现类似的目标?”
作为用户,我确实需要它。
hadoop - Hive Metastore 到 sys
使用以下之一提取 Hive 元存储的类似 SQL Server 系统的视图的最佳方法是什么:Impala、Hive、Pig?
注意:我无权访问 HDFS 的 ssh。
hive - 直线 jdbc 客户端 - 它是否需要 Metastore JDBC 连接详细信息?
我使用了 hive CLI,即“hive”;在阅读更多内容后,我开始知道“hive”cli 是旧的,与 HIVE 交互的首选方式是使用“beeline”,它是一个 jdbc 客户端,它连接到hiverserver2
.
我创建了一个 5 节点集群,并且“MetaStore 数据库”(即 MySQL)在物理服务器上运行,IP 为“11.22.33.44”。(不写实际的 IP 地址)
“hiveserver2”在不同的物理服务器 55.66.77.88 上运行(不写实际的 IP 地址)。
现在,当我想使用 "hiveserver2" 连接到 HIVE 时,它会询问数据库 URL。
这个数据库 URL 是否与我们可以连接到“MetaStore 数据库”(在我的情况下为 MySQL)的相同?
为什么要询问数据库 URL?根据我的理解,它连接到“hiveserver2”(它不是数据库服务器),所以它不应该询问运行 hiveserver2 的主机、端口号吗?
hadoop - 直线执行命令的用户 ID
当我们运行 Hive 查询时,我试图了解各种 id 之间的关系。我正在考虑以下场景,建议用于真实集群。
ClientMachine
---连接/ssh--> GatewayNode
(比如user1,serverA)---> HiveServer2( ServerB
---> Driver
--> Remote MetaData Service (serverC)
-->MySql (serverD)
实际数据存储在 中HDFS
,可以有自己的一组用户。
现在,我的疑问是,我们每一层都有不同的用户,例如 MySQL DB、HDFS、HiveServer2 等;因此,如果我以 user1 身份登录 GatewayNode 并且该用户 ID 不在 HDFS 或 MySql 中,那么这种情况如何工作?
任何人都可以帮助理解这一点吗?
hadoop - Hive 中的“Hive 服务 JVM”?
我指的是 Hadoop:了解 Hive 的权威指南。我开始知道它提供了许多“Hive 服务”,例如 :cli
、、、等。hiveserver2
beeline
metastore
这是 Hive 服务列表的片段(来自同一本书):
设置元存储的方法(来自同一本书):
我的困惑是:
什么是“ Hive 服务 JVM ”?(我在图片中用绿色标记了)。它说默认情况下 Metastore 在相同的“Hive Service JVM”中运行,但是那个“Hive Service”是什么?是cli
,beeline
还是hiveserver2
……我无法理解,什么是“Hive Service JVM”。
谁能帮我澄清这个疑问。我参考了很多帖子,但似乎我仍然无法理解这一点。
amazon-s3 - AWS Glue 数据目录作为 Databricks 等外部服务的元存储
假设数据湖在 AWS 上。使用 S3 作为存储,使用 Glue 作为数据目录。因此,我们可以轻松地使用 athena、redshift 或 EMR 在 S3 上使用 Glue 作为元存储来查询数据。
我的问题是,是否可以将 Glue 数据目录公开为外部服务(如 AWS 上托管的 Databricks)的元存储?
hive - Hive Metastore 能否在不物理更改目录结构的情况下根据列值对数据进行虚拟分区?
作为一个例子,考虑我有一个所有重大体育赛事发生的数据。下面给出的架构
事件名称、日期、月份、年份、城市
这些数据在 HDFS 中按年、日、月进行物理结构化。
现在我想根据其他一些列值创建虚拟分区,例如。城市。数据将仅以年、日、月结构物理存储在 HDFS 中,但我的元数据会跟踪虚拟分区。
Hive Metastore 可以为我做吗?