All Products
Search
Document Center

E-MapReduce:Hive data source

Last Updated:Jul 31, 2024

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

Prerequisites

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

  • A cluster that contains the StarRocks service, such as an online analytical processing (OLAP) cluster or a custom cluster, is created, and you have logged on to the cluster. For more information, see Create a cluster and Getting started.

Limits

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

Create a Hive catalog.

Syntax

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

Parameter description

  • catalog_name: the name of the Hive 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 Hive catalog. This parameter is required. The configurations of this parameter vary based on the metadata service that is used by the Hive data source. The following information describes the properties that you can configure for different metadata services.

    Property

    Required

    Description

    type

    Yes

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

    hive.metastore.uris

    No

    The URI of the Hive Metastore service. Specify the value in the following format: thrift://<IP address of the Hive Metastore service>:<Port number>. The default port number is 9083. This parameter can be left empty if you use Data Lake Formation (DLF) to store metadata.

    hive.metastore.type

    No

    The type of the Metastore. By default, this parameter is left empty. This indicates that the Hive Metastore service is used to store metadata. If you want to use DLF to store metadata, set the value to dlf.

    dlf.catalog.id

    No

    The ID of the DLF catalog from which you want to read data. This parameter is required only if you set the hive.metastore.type parameter to dlf. If you do not configure this parameter, the ID of the default DLF catalog is used.

Example

Execute the following statement to create a Hive catalog named hive_catalog:

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

Query data in a Hive 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 more information about Hive, see Overview.