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.