メインコンテンツまでスキップ
バージョン: Latest-3.4

CREATE EXTERNAL CATALOG

説明

外部カタログを作成します。外部カタログを使用すると、データを StarRocks にロードしたり外部テーブルを作成したりすることなく、外部データソースのデータをクエリできます。現在、以下のタイプの外部カタログを作成できます。

  • Hive catalog: Apache Hive™ からデータをクエリするために使用されます。
  • Iceberg catalog: Apache Iceberg からデータをクエリするために使用されます。
  • Hudi catalog: Apache Hudi からデータをクエリするために使用されます。
  • Delta Lake catalog: Delta Lake からデータをクエリするために使用されます。
  • JDBC catalog: JDBC 互換のデータソースからデータをクエリするために使用されます。
  • Elasticsearch catalog: Elasticsearch からデータをクエリするために使用されます。Elasticsearch カタログは v3.1 以降でサポートされています。
  • Paimon catalog: Apache Paimon からデータをクエリするために使用されます。Paimon カタログは v3.1 以降でサポートされています。
  • Unified catalog: Hive、Iceberg、Hudi、および Delta Lake データソースを統合データソースとしてクエリするために使用されます。Unified カタログは v3.2 以降でサポートされています。

NOTE

  • v3.0 以降、このステートメントには SYSTEM レベルの CREATE EXTERNAL CATALOG 権限が必要です。
  • 外部カタログを作成する前に、StarRocks クラスターを設定して、外部データソースのデータストレージシステム(Amazon S3 など)、メタデータサービス(Hive metastore など)、および認証サービス(Kerberos など)の要件を満たすようにしてください。詳細については、各 external catalog topic の「開始する前に」セクションを参照してください。

構文

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

パラメータ

パラメータ必須説明
catalog_nameはい外部カタログの名前。命名規則については、System limits を参照してください。
commentいいえ外部カタログの説明。
PROPERTIESはい外部カタログのプロパティ。外部カタログの種類に基づいてプロパティを設定します。詳細については、Hive catalogIceberg catalogHudi catalogDelta Lake catalog、および JDBC Catalog を参照してください。

例 1: hive_metastore_catalog という名前の Hive カタログを作成します。対応する 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_glue_catalog という名前の Hive カタログを作成します。対応する 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_metastore_catalog という名前の Iceberg カタログを作成します。対応する 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_glue_catalog という名前の Iceberg カタログを作成します。対応する 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_metastore_catalog という名前の Hudi カタログを作成します。対応する 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_glue_catalog という名前の Hudi カタログを作成します。対応する 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_metastore_catalog という名前の Delta Lake カタログを作成します。対応する 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_glue_catalog という名前の Delta Lake カタログを作成します。対応する 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"
);

参考文献

  • StarRocks クラスター内のすべてのカタログを表示するには、SHOW CATALOGS を参照してください。
  • 外部カタログの作成ステートメントを表示するには、SHOW CREATE CATALOG を参照してください。
  • StarRocks クラスターから外部カタログを削除するには、DROP CATALOG を参照してください。