前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CDP的Hive Metastore简介

CDP的Hive Metastore简介

作者头像
大数据杂货铺
发布2021-08-20 11:38:21
9970
发布2021-08-20 11:38:21
举报
文章被收录于专栏:大数据杂货铺

Hive Metastore (HMS) 是一种服务,用于在后端 RDBMS(例如 MySQL 或 PostgreSQL)中存储与 Apache Hive 和其他服务相关的元数据。Impala、Spark、Hive 和其他服务共享元存储。与 HMS 的连接包括 HiveServer、Ranger 和代表 HDFS 的 NameNode。

Beeline、Hue、JDBC 和 Impala shell 客户端通过 thrift 或 JDBC 向 HiveServer 发出请求。HiveServer 实例向 HMS 读/写数据。默认情况下,冗余的 HMS 以主动/主动模式运行。物理数据驻留在后端 RDBMS 中,一个用于 HMS的RDBMS。所有的 HMS 实例使用相同的后端数据库。一个单独的 RDBMS 支持安全服务,例如 Ranger。在任何给定时间,所有连接都路由到单一的 RDBMS 服务。HMS 通过thrift与 NameNode 对话,并充当 HDFS 的客户端。

HMS 直接连接到 Ranger 和 NameNode (HDFS),HiveServer 也是如此,但为简单起见,该图中并未显示。后端的一个或多个 HMS 实例可以与其他服务(例如 Ranger)通信。

HMS表的存储

当您运行 CREATE TABLE 语句或将表迁移到 Cloudera Data Platform 时,您需要了解 HMS 如何存储 Hive 表。语句的成功或失败、结果表类型和表位置取决于许多因素。

HMS 表的转换

HMS 包含有关您创建的表的以下 Hive 元数据:

· 表的定义

· 列名

· 数据类型

· 中央的Schema存储库中的注释

当您在 CREATE TABLE 语句中使用 EXTERNAL 关键字时,HMS 会将表存储为外部表。当您省略 EXTERNAL 关键字并创建托管表或摄取托管表时,HMS 可能会将表转换为外部表,或者创建表可能会失败,这具体取决于表的属性。影响表转换的一个重要表属性是 ACID 或非 ACID 表类型:

非ACID

表属性不包含任何设置为 true 的 ACID 相关属性。例如,该表不包含这样的属性 transactional=true 或 insert_only=true

ACID

表属性确实包含一个或多个设置为 true 的 ACID 属性。

完全的ACID

表属性包含 transactional=true 但包含insert_only=true

仅插入的ACID

表属性包含 insert_only=true。

以下矩阵显示了表类型以及是否支持位置属性。

ACID

托管表

位置属性

注释

行动

非ACID

是的

是的

迁移到 CDP,例如从 HDP 或 CDH 集群。

表存储为外部表

非ACID

是的

表位置为空(null)

存储在外部仓库子目录中的表*

代码语言:javascript
复制
 metastore.warehouse.external.dir

HMS 检测与 HMS 交互的客户端类型,例如 Hive 或 Spark,并将客户端的能力与表的需求进行比较。HMS 根据比较结果执行以下操作:

表要求

客户端符合要求

托管表

ACID 表类型

行动

客户端可以写入任何类型的 ACID 表

是的

是的

创建表失败

客户端可以写入完整的 ACID 表

是的

insert_only=true

创建表失败

客户端可以写入仅插入的 ACID 表

是的

insert_only=true

创建表失败

例如,如果 Spark 客户端不具备所需的功能,则会出现以下类型的错误消息:

代码语言:javascript
复制
Spark has no access to table `mytable`. Clients can access this table only if
they have the following capabilities: CONNECTORREAD,HIVEFULLACIDREAD, HIVEFULLACIDWRITE,
HIVEMANAGESTATS, HIVECACHEINVALIDATE, . . .

原文链接:https://docs.cloudera.com/cdp-private-cloud-base/latest/hive-hms-overview/topics/hive-hms-introduction.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据杂货铺 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HMS表的存储
  • HMS 表的转换
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档