功能概述

在数据湖架构中,Hive Catalog 是一种关键组件,用于将数据湖与外部的元数据存储(例如 Hive Metastore)关联起来。通过创建 Hive Catalog,用户可以实现元数据的统一管理和访问,从而直接读取存储在外部系统中的数据。Apache Hive 已成为数据仓库生态系统的核心,不仅是大数据分析和 ETL 的 SQL 引擎,还是一个数据管理平台,可用于发现、定义和发展数据。同时Lakehouse支持写入和读取Hive数据。

使用限制

  • 使用前请注意需要保证,lakehouse和hive集群网络打通
  • 目前,云器 Lakehouse 的外部catalog功能支持以下外部数据源:
    • Hive on OSS(阿里云对象存储服务)
    • Hive on COS(腾讯云对象存储服务)
    • Hive on S3(AWA对象存储服务)
    • Hive on GCS(Google云对象存储服务)
  • 同时支持写入和读取。写格式支持parquet、orc、text文件格式

创建外部 Catalog

创建Hive Catalog 的步骤

  1. 创建存储连接:首先需要创建一个存储连接,用于访问对象存储服务。
  2. 创建 Catalog Connection:使用存储连接信息和 Hive Metastore 地址创建 Catalog Connection。
  3. 创建外部 Catalog:使用 Catalog Connection 创建外部 Catalog,以便在数据湖中访问外部数据。

创建存储连接

创建存储链接可以参考文档,创建STORAGE CONNECTION

CREATE STORAGE CONNECTION if not exists catalog_storage_oss
    type OSS
    ACCESS_ID='LTAIxxxxxxxxxxxx'
    ACCESS_KEY='T8Gexxxxxxmtxxxxxx'
    ENDPOINT='oss-cn-hangzhou-internal.aliyuncs.com';

创建 Catalog Connection

CREATE CATALOG CONNECTION if not exists catalog_api_connection
    type hms
    hive_metastore_uris='xxx:9083'
    storage_connection='catalog_storage_oss';

创建外部 Catalog

CREATE EXTERNAL CATALOG test_external_catalog
    CONNECTION catalog_catalog_connection;

使用Catalog

--列出catalog下的schema
show schemas in test_external_catalog;
--列出catalog下的所有表
show tables in test_external_catalog.my_external_test;
--查寻catalog下的表
select * from test_external_catalog.my_external_test.test;
--查看catalog下的表结构
desc test_external_catalog.my_external_test.test;

使用hive表和Lakehoue表关联查询

其中test_external_catalog.my_external_test.test是hive中的表public.test是Lakehouse的内部表

select * from 
test_external_catalog.my_external_test.test a
left join 
public.test b 
on a.id=b.id;

联系我们
预约咨询
微信咨询
电话咨询