CREATE EXTERNAL CATALOG
説明
外部 catalog を作成します。外部 catalog を使用すると、データを StarRocks にロードしたり、外部テーブルを作成したりすることなく、外部データソースのデータをクエリできます。現在、次のタイプの外部 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 は v3.1 以降でサポートされています。
- Paimon catalog: Apache Paimon からデータをクエリするために使用されます。Paimon catalog は v3.1 以降でサポートされています。
NOTE
- v3.0 以降、このステートメントには SYSTEM レベルの CREATE EXTERNAL CATALOG 権限が必要です。
- 外部 catalog を作成する前に、StarRocks クラスターを構成して、外部データソースのデータストレージシステム (Amazon S3 など)、メタデータサービス (Hive metastore など)、および認証サービス (Kerberos など) の要件を満たすようにしてください。詳細については、各 external catalog topic の「開始する前に」セクションを参照してください。
構文
CREATE EXTERNAL CATALOG <catalog_name>
[COMMENT <comment>]
PROPERTIES ("key"="value", ...)
パラメータ
パラメータ | 必須 | 説明 |
---|---|---|
catalog_name | はい | 外部 catalog の名前。命名規則は次のとおりです:
|
comment | いいえ | 外部 catalog の説明。 |
PROPERTIES | はい | 外部 catalog のプロパティ。外部 catalog のタイプに基づいてプロパティを構成します。詳細については、Hive catalog、Iceberg catalog、Hudi catalog、Delta Lake catalog、および JDBC Catalog を参照してください。 |
例
例 1: hive_metastore_catalog
という名前の Hive catalog を作成します。対応する Hive クラスターは、メタデータサービスとして Hive metastore を使用します。
CREATE EXTERNAL CATALOG hive_metastore_catalog
PROPERTIES(
"type"="hive",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);
例 2: hive_glue_catalog
という名前の Hive catalog を作成します。対応する Hive クラスターは、メタデータサービスとして AWS Glue を使用します。
CREATE EXTERNAL CATALOG hive_glue_catalog
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 catalog を作成します。対応する Iceberg クラスターは、メタデータサービスとして Hive metastore を使用します。
CREATE EXTERNAL CATALOG iceberg_metastore_catalog
PROPERTIES(
"type"="iceberg",
"iceberg.catalog.type"="hive",
"iceberg.catalog.hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);
例 4: iceberg_glue_catalog
という名前の Iceberg catalog を作成します。対応する Iceberg クラスターは、メタデータサービスとして AWS Glue を使用します。
CREATE EXTERNAL CATALOG iceberg_glue_catalog
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 catalog を作成します。対応する Hudi クラスターは、メタデータサービスとして Hive metastore を使用します。
CREATE EXTERNAL CATALOG hudi_metastore_catalog
PROPERTIES(
"type"="hudi",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);
例 6: hudi_glue_catalog
という名前の Hudi catalog を作成します。対応する Hudi クラスターは、メタデータサービスとして AWS Glue を使用します。
CREATE EXTERNAL CATALOG hudi_glue_catalog
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 catalog を作成します。対応する Delta Lake サービスは、メタデータサービスとして Hive metastore を使用します。
CREATE EXTERNAL CATALOG delta_metastore_catalog
PROPERTIES(
"type"="deltalake",
"hive.metastore.uris"="thrift://xx.xx.xx.xx:9083"
);
例 8: delta_glue_catalog
という名前の Delta Lake catalog を作成します。対応する Delta Lake サービスは、メタデータサービスとして AWS Glue を使用します。
CREATE EXTERNAL CATALOG delta_glue_catalog
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 クラスター内のすべての catalog を表示するには、SHOW CATALOGS を参照してください。
- 外部 catalog の作成ステートメントを表示するには、SHOW CREATE CATALOG を参照してください。
- StarRocks クラスターから外部 catalog を削除するには、DROP CATALOG を参照してください。