All Products
Search
Document Center

E-MapReduce:Hudi data source

Last Updated:Feb 07, 2024

A Hudi catalog is an external catalog. You can use a Hudi catalog to query data in Hudi. This topic describes how to create a Hudi catalog in an E-MapReduce (EMR) StarRocks cluster and use the Hudi catalog to query data in Hudi.

Prerequisites

  • A cluster that contains the Hudi service, such as a DataLake cluster or a custom cluster, is created. For more information, see Create a cluster.

  • A StarRocks cluster is created. For more information, see Create a StarRocks cluster.

Limits

The preceding clusters must be deployed in the same virtual private cloud (VPC) and zone.

Create a Hudi catalog

Command syntax

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

Parameter description

  • catalog_name: the name of the Hudi catalog. This parameter is required. The name must meet the following requirements:

    • The name can contain letters, digits, and underscores (_). It must start with a letter.

    • The name must be 1 to 64 characters in length.

  • PROPERTIES: the properties of the Hudi catalog. This parameter is required. The configurations of this parameter vary based on the metadata service that is used by the Hudi data source. The following information describes the properties that you can configure for different metadata services:

    • Hive metastore

      Property

      Required

      Description

      type

      Yes

      The type of the data source. Set the value to hudi.

      hive.metastore.uris

      Yes

      The URI of the Hive metastore. Specify the value in the following format: thrift://<IP address of the Hive metastore>:<Port number>. The default port number is 9083.

    • Data Lake Formation (DLF)

      For more information, see Access external tables whose metadata is stored in DLF.

Example

Run the following command to create a Hudi catalog named hudi_catalog:

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

View data in a Hudi table

You can execute the following statement to query data in a specific table of a database:

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

References

For information about Hudi, see Overview.