Hudi数据源

Hudi Catalog是一种External Catalog。通过Hudi Catalog,您可以直接查询Hudi中的数据。本文为您介绍如何在E-MapReduce的StarRocks集群上创建和查看Hudi Catalog。

前提条件

  • 已创建包含Hudi服务的集群,例如DataLake或Custom集群,详情请见创建集群

  • 已创建包含StarRocks服务的集群,例如OLAP或Custom集群,并成功连接到集群,详情请参见创建集群快速入门

使用限制

创建的两个集群需要在同一个VPC下,并且在同一个可用区下。

创建Hudi Catalog

语法

CREATE EXTERNAL CATALOG <catalog_name>
PROPERTIES
( 
  "key"="value", 
  ...
);

参数说明

  • catalog_name:Hudi Catalog的名称,必选参数。命名要求如下:

    • 必须由字母(a~z或A~Z)、数字(0~9)或下划线(_)组成,且只能以字母开头。

    • 总长度不能超过64个字符。

  • PROPERTIES:Hudi Catalog的属性,必选参数。Hudi使用的元数据服务不同,该参数的配置也不同。不同元数据服务的配置方法如下:

    属性

    是否必选

    说明

    type

    数据源类型,取值为hudi

    hive.metastore.uris

    Hive MetaStore的URI。格式为thrift://<Hive metastore的IP地址>:<端口号>,端口号默认为9083。当使用DLF的元数据时,该配置可省略。

    hive.metastore.type

    配置MetaStore类型,默认为空,代表使用Hive MetaStore的元数据。当需要使用DLF的元数据时,请设置为dlf

    dlf.catalog.id

    待读取的DLF Catalog ID,当hive.metastore.type设置为dlf时配置。如果不添加该配置,则使用默认DLF Catalog。

    • Hive MetaStore

      属性

      是否必选

      说明

      type

      数据源类型,取值为hudi

      hive.metastore.uris

      Hive MetaStore的URI。格式为thrift://<Hive metastore的IP地址>:<端口号>,端口号默认为9083。

    • DLF

      使用DLF查看数据源,详情请参见使用DLF元数据

示例

以下示例创建了一个名为hudi_catalog的Hudi Catalog。

CREATE EXTERNAL CATALOG hudi_catalog
PROPERTIES
(
    "type" = "hudi",
    "hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083"
);

查看Hudi表数据

您可以通过SELECT查询目标数据库中的目标表。

SELECT * FROM <catalog_name>.<database_name>.<table_name>;

相关文档

Hudi更多介绍,请参见Hudi概述