Перейти к основному содержимому

CREATE EXTERNAL CATALOG

CREATE EXTERNAL CATALOG создает external catalog. Вы можете использовать external catalog для запроса данных из внешних источников данных без загрузки данных в Selena или создания внешних таблиц. В настоящее время вы можете создавать следующие типы external catalog:

  • Hive catalog: используется для запроса данных из Apache Hive™.
  • Iceberg catalog: используется для запроса данных из Apache Iceberg.
  • Hudi catalog: используется для запроса данных из Apache Hudi.
  • Delta Lake catalog: используется для запроса данных из Delta Lake.
  • JDBC catalog: используется для запроса данных из JDBC-совместимых источников данных.
  • Elasticsearch catalog: используется для запроса данных из Elasticsearch. Elasticsearch catalog поддерживаются начиная с версии 1.5.0.
  • Paimon catalog: используется для запроса данных из Apache Paimon. Paimon catalog поддерживаются начиная с версии 1.5.0.
  • Unified catalog: используется для запроса данных из Hive, Iceberg, Hudi и Delta Lake источников данных как единого источника данных. Unified catalog поддерживаются начиная с версии 1.5.0.

ПРИМЕЧАНИЕ

  • В версии 3.0 и более поздних этот оператор требует привилегию CREATE EXTERNAL CATALOG на уровне SYSTEM.
  • Перед созданием external catalog настройте ваш кластер Selena в соответствии с требованиями системы хранения данных (например, Amazon S3), службы метаданных (например, Hive metastore) и службы аутентификации (например, Kerberos) внешних источников данных. Для получения дополнительной информации см. раздел "Перед началом работы" в каждой теме external catalog.

Синтаксис

CREATE EXTERNAL CATALOG [IF NOT EXISTS] <catalog_name>
[COMMENT <comment>]
PROPERTIES ("key"="value", ...)

Параметры

ПараметрОбязательныйОписание
catalog_nameДаИмя external catalog. Для соглашений об именовании см. Системные ограничения.
commentНетОписание external catalog.
PROPERTIESДаСвойства external catalog. Настройте свойства в зависимости от типов external catalog. Для получения дополнительной информации см. Hive catalog, Iceberg catalog, Hudi catalog, Delta Lake catalog и JDBC Catalog.

Примеры

Пример 1: Создание Hive catalog с именем hive_metastore_catalog. Соответствующий кластер Hive использует Hive metastore в качестве службы метаданных.

CREATE EXTERNAL CATALOG hive_metastore_catalog
COMMENT "External catalog to Hive"
PROPERTIES(
"type"="hive",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);

Пример 2: Создание Hive catalog с именем hive_glue_catalog. Соответствующий кластер Hive использует AWS Glue в качестве службы метаданных.

CREATE EXTERNAL CATALOG hive_glue_catalog
COMMENT "External catalog to Hive"
PROPERTIES(
"type"="hive",
"hive.metastore.type"="glue",
"aws.hive.metastore.glue.aws-access-key"="xxxxxx",
"aws.hive.metastore.glue.aws-secret-key"="xxxxxxxxxxxx",
"aws.hive.metastore.glue.endpoint"="https://glue.x-x-x.amazonaws.com"
);

Пример 3: Создание Iceberg catalog с именем iceberg_metastore_catalog. Соответствующий кластер Iceberg использует Hive metastore в качестве службы метаданных.

CREATE EXTERNAL CATALOG iceberg_metastore_catalog
COMMENT "External catalog to Iceberg"
PROPERTIES(
"type"="iceberg",
"iceberg.catalog.type"="hive",
"iceberg.catalog.hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);

Пример 4: Создание Iceberg catalog с именем iceberg_glue_catalog. Соответствующий кластер Iceberg использует AWS Glue в качестве службы метаданных.

CREATE EXTERNAL CATALOG iceberg_glue_catalog
COMMENT "External catalog to Iceberg"
PROPERTIES(
"type"="iceberg",
"iceberg.catalog.type"="glue",
"aws.hive.metastore.glue.aws-access-key"="xxxxx",
"aws.hive.metastore.glue.aws-secret-key"="xxxxxxxxxxxx",
"aws.hive.metastore.glue.endpoint"="https://glue.x-x-x.amazonaws.com"
);

Пример 5: Создание Hudi catalog с именем hudi_metastore_catalog. Соответствующий кластер Hudi использует Hive metastore в качестве службы метаданных.

CREATE EXTERNAL CATALOG hudi_metastore_catalog
COMMENT "External catalog to Hudi"
PROPERTIES(
"type"="hudi",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);

Пример 6: Создание Hudi catalog с именем hudi_glue_catalog. Соответствующий кластер Hudi использует AWS Glue в качестве службы метаданных.

CREATE EXTERNAL CATALOG hudi_glue_catalog
COMMENT "External catalog to Hudi"
PROPERTIES(
"type"="hudi",
"hive.metastore.type"="glue",
"aws.hive.metastore.glue.aws-access-key"="xxxxxx",
"aws.hive.metastore.glue.aws-secret-key"="xxxxxxxxxxxx",
"aws.hive.metastore.glue.endpoint"="https://glue.x-x-x.amazonaws.com"
);

Пример 7: Создание Delta Lake catalog с именем delta_metastore_catalog. Соответствующая служба Delta Lake использует Hive metastore в качестве службы метаданных.

CREATE EXTERNAL CATALOG delta_metastore_catalog
COMMENT "External catalog to Delta"
PROPERTIES(
"type"="deltalake",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);

Пример 8: Создание Delta Lake catalog с именем delta_glue_catalog. Соответствующая служба Delta Lake использует AWS Glue в качестве службы метаданных.

CREATE EXTERNAL CATALOG delta_glue_catalog
COMMENT "External catalog to Delta"
PROPERTIES(
"type"="deltalake",
"hive.metastore.type"="glue",
"aws.hive.metastore.glue.aws-access-key"="xxxxxx",
"aws.hive.metastore.glue.aws-secret-key"="xxxxxxxxxxxx",
"aws.hive.metastore.glue.endpoint"="https://glue.x-x-x.amazonaws.com"
);

Ссылки

  • Для просмотра всех catalog в вашем кластере Selena см. SHOW CATALOGS.
  • Для просмотра оператора создания external catalog см. SHOW CREATE CATALOG.
  • Для удаления external catalog из вашего кластера Selena см. DROP CATALOG.