- 最新
- 投票最多
- 评论最多
您好,
感谢您的提问。
我知道您想在 AWS EMR 6.13.0 中定位hive 元数据。从提供的屏幕截图来看,您似乎正在使用外部 RDS MySQL 数据库作为 Hive 元数据仓。
当您通过以下配置使用外部 MySQL 数据库作为 Hive 元数据仓时,可以覆盖 Hive 中元数据仓的默认配置值来指定外部数据库的位置,无论是在 Amazon RDS MySQL 实例还是 Amazon Aurora PostgreSQLinStance [1] 上。
[
{
"Classification": "hive-site",
"Properties": {
"javax.jdo.option.ConnectionURL": "jdbc:mysql://hostname:3306/hive?createDatabaseIfNotExist=true",
"javax.jdo.option.ConnectionDriverName": "org.mariadb.jdbc.Driver",
"javax.jdo.option.ConnectionUserName": "username",
"javax.jdo.option.ConnectionPassword": "password"
}
}
]
元存储位置 :
存储元数据的位置是为每个 HiveServer/HiveMetastore 实例建立的。每个集群都在其主节点上运行这些进程,因此,元数据仓的位置是根据每个集群确定的。当您使用外部元数据仓(例如 RDS)时,必须更新这些属性并重新启动集群主节点中的元数据仓服务。配置在 hive-site.xml/hive-default.xml 包含的属性中设置。具体来说:
javax.jdo.option.ConnectionURL
javax.jdo.option.ConnectionDriverName
javax.jdo.option.ConnectionUserName
javax.jdo.option.ConnectionPassword
元数据仓位于 RDS 中。您可以通过指定元存储位置来启动共享此元存储的所有其他 Hive 集群。
Hive 元存储中有许多表,每个表都有特定的用途。Hive 使用此元数据存储库来存储其元数据(数据库名称、表名、列、数据类型等)例如,TBLS 表包含与 Hive 表相关的数据,例如表名、表所有者、创建时间、数据库 ID 等。
此外,您可以运行以下 MySQL 命令来验证您是否可以访问 Amazon RDS 数据库实例上的 Hive 表。[2]
Connect to the Amazon RDS instance and run MySQL commands similar to the following.
- mysql -h your-rds-hostname.region.rds.amazonaws.com -P 3306 -u usernameForRDS -p
- use hive;
- show tables;
- select * from TBLS;
从上面的输出中,您将能够看到您在 EMR 主节点上的 hive 中创建的表。
我希望以上信息对您有所帮助。感谢您提出您的疑问,我很高兴为您提供进一步的帮助。
希望您有美好的一天。
参考文献:
[1] https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-external.html
[2] https://stackoverflow.com/questions/63928724/what-do-the-various-tables-in-hive-metastore-contain
相关内容
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前