Перейти к основному содержимому
Версия: 2.0.x

CREATE EXTERNAL CATALOG

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

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

ПРИМЕЧАНИЕ

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

Синтаксис

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

Параметры

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

Примеры

Пример 1: Создание каталога Hive с именем hive_metastore_catalog. Соответствующий cluster 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 с именем hive_glue_catalog. Соответствующий cluster 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 с именем iceberg_metastore_catalog. Соответствующий cluster 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 с именем iceberg_glue_catalog. Соответствующий cluster 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 с именем hudi_metastore_catalog. Соответствующий cluster 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 с именем hudi_glue_catalog. Соответствующий cluster 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 с именем 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 с именем 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"
);

См. также

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