本章では、SQL文を使用してExternal Catalogを作成する方法について説明します。
権限要件
External Catalogを作成するには、現在のユーザーがCREATE CATALOG権限を持っている必要があります。OceanBaseデータベースの権限に関する詳細は、MySQLモードにおける権限の分類を参照してください。
構文
External Catalogを作成するSQL文の形式は次のとおりです。
CREATE EXTERNAL CATALOG [IF NOT EXISTS] external_catalog_name
PROPERTIES [=] (properties_type_options);
properties_type_options:
odps_type_list
odps_type_list:
TYPE = 'ODPS',
[ACCESSTYPE = 'accesstype_string',]
ACCESSID = 'string',
ACCESSKEY = 'string',
STSTOKEN = 'string',
ENDPOINT = 'string',
TUNNEL_ENDPOINT = 'string',
PROJECT_NAME = 'string',
[QUOTA_NAME = 'string',]
[COMPRESSION = 'compression_string',]
REGION = 'string'
accesstype_string:
aliyun
| sts
| app
compression_string:
zlib
| zstd
| lz4
| odps_lz4
パラメータの説明:
IF NOT EXISTS:任意指定の句です。この句を指定すると、作成しようとする外部データディレクトリが現在のテナントにすでに存在していてもエラーは発生せず、Warningメッセージが表示されます。指定しない場合はエラーになります。external_catalog_name:作成する外部データディレクトリの名前を指定します。PROPERTIES [=] (properties_type_options):外部データディレクトリのタイプに関する属性オプションを指定します。odps_type_list:ODPSタイプの外部データディレクトリ(ODPS Catalog)に関する属性リストを指定します。
External Catalog作成構文の詳細なパラメータ説明については、CREATE EXTERNAL CATALOGを参照してください。
ODPSタイプのExternal Catalogの作成
MaxComputeデータを外部テーブルとして読み書きする場合は、値にODPSを指定します。
CREATE EXTERNAL CATALOGを使用してMaxCompute(ODPS)との接続を作成することで、マッピングテーブルを手動で作成することなく、ODPSテーブルのデータを直接クエリおよび書き込みできます。
例:
obclient> CREATE EXTERNAL CATALOG test_odps_catalog
PROPERTIES = (
TYPE = 'ODPS',
ACCESSID = '$odps_accessid',
ACCESSKEY = '$odps_accesskey',
ENDPOINT = '$odps_endpoint',
TUNNEL_ENDPOINT = 'http://xxx.maxcompute.aliyun.com',
PROJECT_NAME = 'mysqltest_regression_sqlqa',
QUOTA_NAME = '',
COMPRESSION_CODE = ''
);