Hive元数据说明

更新时间:2025-01-14 02:35:20

本文为您介绍E-MapReduce(简称EMR)支持的元数据类型和各元数据类型的优势。

元数据类型介绍

EMR Hive元数据支持DLF统一元数据、自建RDS和内置MySQL三种类型。

DLF统一元数据

元数据存储在阿里云数据湖构建(Data Lake Formation,简称DLF)中。数据湖构建具有高可用、免运维和高性能等优点,兼容Hive Metastore,无缝对接EMR上开源计算引擎,并支持元数据多版本管理和Data Profile功能。另外,DLF还支持数据探索、湖管理和数据权限控制等功能,并与阿里云其他计算产品(例如MaxCompute、DatabricksHologres等)无缝对接,可以扩展更丰富的计算场景,DLF详情请参见产品简介

该元数据类型相比自建RDS和内置MySQL两种方式的最大区别是,无需在EMR集群上部署Hive Metastore,即元数据查询服务以及存储服务都托管到DLF产品上,免去运维成本,同时支持更多引擎(例如MaxCompute、Flink、DataBricksHologres等),进一步实现湖仓一体共享元数据,在多个集群上也能够实现元数据共享。DLF Client SDK提供了兼容Hive Metastore的接口,这样引擎基本不做任何改动就可以直接使用DLF Client SDK,进而访问DLF元数据。用户也可以直接使用DLF客户端访问DLF元数据。

图 1. DLF统一元数据在单集群部署架构图DLF统一元数据在单集群部署架构图

图 2. DLF统一元数据在多集群部署架构图DLF统一元数据在多集群部署架构图

自建RDS

元数据存储在RDS中。自建RDS元数据类型和内置MySQL类型在架构上是一致的,区别只是存储由本地的MySQL,变成了RDS(云上的MySQL)。如自建RDS在多集群部署架构图所示,在多个集群环境中,RDS支持跨多个集群元数据共享,分别被不同集群中的Hive Metastore访问。

图 3. 自建RDS在单集群部署架构图自建RDS在单集群部署架构图

图 4. 自建RDS在多集群部署架构图自建RDS在多集群部署架构图

内置MySQL

元数据存储在MySQL中,且MySQL Server实例部署在用户的EMR集群中(通常是Master节点),Hive、SparkPresto等引擎访问元数据时,也不是直接访问MySQL,而是通过访问Hive Metastore间接访问MySQL。Hive Metastore提供元数据访问服务,引擎通过thrift协议访问Hive Metastore,Hive Metastore通过JDBC协议访问MySQL。

说明

内置MySQL登录的用户名为root,密码为EMRroot1234。

当然您也可以手动通过MySQL客户端直接连接MySQL Server,查看元数据。如内置MySQL在多集群部署架构图所示,由于每个集群都有一个MySQL,导致多个集群间的元数据不能共享。

图 5. 内置MySQL在单集群部署架构图Cluster

图 6. 内置MySQL在多集群部署架构图1

元数据类型优势

内置MySQL和自建RDS的区别

自建RDS更直观的好处是元数据可以在多个集群间共享。

从可用性、可靠性和性能等方面对比,自建RDS要优于内置MySQL,详情请参见RDS与自建数据库对比优势

DLF统一元数据和自建RDS的区别

对比项

DLF统一元数据

自建RDS

对比项

DLF统一元数据

自建RDS

易用性

EMR集群开箱即用(需提前开通DLF产品)。

EMR集群开箱即用(需提前购买RDS)。

元数据管理

DLF产品提供了可视化的元数据检索、元数据管理、多版本管理、数据统计概况和生命周期管理等更丰富的能力。

无。

多引擎支持

  • 支持Hive、SparkPresto。

  • 支持MaxComputeHologres。

  • 支持Hive、SparkPresto。

  • 不支持MaxComputeHologres。

成本

免费,具体计费请参见数据湖构建的计费模式

包月和按量计费。

运维成本

免运维,自动水平弹性扩容。

需要进行升级和扩容等运维操作。

高可用

主备等容灾措施。

主备等容灾措施。

性能

性能高,同时基于Hive Metastore进行了优化。

性能高,对Hive Metastore无优化。

更多能力

细粒度数据权限控制、湖存储分析和湖格式管理。

无。

EMR集群访问DLF元数据

EMR集群(本地测试环境或者其它云服务)访问DLF元数据,需要集成DLF Client SDK,具体操作请参见阿里云数据湖构建(DLF)

说明

访问DLF和访问MySQL一样,需要提供访问地址、用户名和密码。

  • DLF中的访问地址称为Endpoint,不同region使用不同的Endpoint。

  • 用户名和密码为DLF产品的AccessKey IDAccessKey Secret。

  • 您还需要通过修改Hive参数的方式,切换Hive MetaStore的存储方式。

    Hive服务页面,修改参数hive.imetastoreclient.factory.class的值为com.aliyun.datalake.metastore.hive2.DlfMetaStoreClientFactory。修改配置项的具体操作请参见修改组件参数

  • 本页导读 (1)
  • 元数据类型介绍
  • DLF统一元数据
  • 自建RDS
  • 内置MySQL
  • 元数据类型优势
  • 内置MySQL和自建RDS的区别
  • DLF统一元数据和自建RDS的区别
  • 非EMR集群访问DLF元数据