AnalyticDB for MySQLでは、IMPORT FOREIGN SCHEMA
ステートメントを使用してMaxCompute外部テーブルを一括作成できます。
前提条件
V3.2.2.0以降のAnalyticDB for MySQLクラスターが作成されます。
説明AnalyticDB for MySQLのマイナーバージョンを照会するには Data Lakehouse Editionクラスターで、
SELECT adb_version();
文を実行します。 クラスターのマイナーバージョンを更新するには、テクニカルサポートにお問い合わせください。AnalyticDB For MySQL Data Warehouse Editionクラスターのマイナーバージョンを表示および更新する方法については、「クラスターのマイナーバージョンの更新」をご参照ください。
AnalyticDB for MySQLクラスターでElastic Network Interface (ENI) が有効になっています。
説明AnalyticDB for MySQLコンソールにログインして、[クラスター情報] ページの [ネットワーク情報] セクションでENIをオンにします。
MaxComputeプロジェクトは、AnalyticDB for MySQLクラスターと同じリージョンに作成されます。
AnalyticDB for MySQLクラスターが存在する仮想プライベートクラウド (VPC) のCIDRブロックが、MaxComputeプロジェクトのIPアドレスホワイトリストに追加されます。
説明AnalyticDB for MySQLコンソールにログインして、[クラスター情報] ページでVPC IDを表示できます。 次に、VPCコンソールにログインし、VPCページでVPC IDを見つけてCIDRブロックを表示します。 MaxComputeでIPアドレスホワイトリストを設定する方法については、「IPアドレスホワイトリストの管理」をご参照ください。
AnalyticDB for MySQLクラスター用に外部サーバーが作成されます。 外部サーバーの構文については、このトピックの「外部サーバーの管理」を参照してください。
構文
IMPORT FOREIGN SCHEMA odps_project
[LIMIT TO (table_name[, ...])]
FROM server_name
INTO adb_schema
[OPTIONS (
if_table_exist 'error|ignore|update',
if_type_unsupport 'error|ignore',
table_prefix 'table_prefix',
table_suffix 'table_suffix')]
Parameters
パラメーター | 必須 | 説明 |
| 必須 | MaxComputeプロジェクトの名前。 |
| 選択可能 | インポートするMaxComputeテーブルの名前。 テーブル名に制限がない場合、システムバッチはMaxComputeプロジェクトに一致するすべてのテーブルをAnalyticDB for MySQLクラスターに作成します。 |
| 必須 | 外部サーバーの名前。 外部サーバーの構文については、このトピックの「外部サーバーの管理」セクションを参照してください。 |
| 必須 | AnalyticDB for MySQLクラスター内のデータベースの名前。 |
| 選択可能 | AnalyticDB for MySQLでテーブル名の競合を処理するために使用されるメソッド。 有効な値:
|
| 選択可能 | AnalyticDB for MySQLでサポートされていないデータ型を処理するために使用されるメソッド。 有効な値:
|
| 選択可能 | 外部テーブルの名前のプレフィックス。 デフォルトでは、AnalyticDB for MySQLの外部テーブルは、MaxComputeの一致するテーブルと同じ名前を使用します。 |
| 選択可能 | 外部テーブルの名前のサフィックス。 デフォルトでは、AnalyticDB for MySQLの外部テーブルは、MaxComputeの一致するテーブルと同じ名前を使用します。 |
例
pre_customer_sufおよびpre_order_sufという名前のMaxCompute外部テーブルをAnalyticDB for MySQLに作成します。
IMPORT FOREIGN SCHEMA my_project
LIMIT TO (customer, order)
FROM maxcompute_server
INTO my_adb_schema
OPTIONS (
if_table_exist 'update',
if_type_unsupport 'ignore',
table_prefix 'pre_',
table_suffix '_suf'
);
外部サーバーの管理
外部サーバーの作成
構文
CREATE SERVER <server_name>
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
"endpoint":"<endpoint>",
"accessid":"<accesskey_id>",
"accesskey":"<accesskey_secret>"
}'
Parameters
パラメーター | 必須 | 説明 |
| 必須 | 外部サーバーの名前。 名前は最大64文字で、英数字、アンダースコア (_) を使用できます。 名前は文字またはアンダースコア (_) で始まる必要があります。 |
| 必須 | 外部サーバーのタイプ。 このパラメーターをODPSに設定します。 |
| 必須 | MaxComputeのエンドポイント。 説明 MaxComputeには、VPCエンドポイントを使用してのみアクセスできます。 MaxComputeエンドポイントの詳細については、「エンドポイント」をご参照ください。 |
| 必須 | アクセス権限を持つAlibaba CloudアカウントまたはRAM (Resource Access Management) ユーザーのAccessKey ID MaxCompute。 AccessKey IDとAccessKeyシークレットの取得方法については、「アカウントと権限」をご参照ください。 |
| 必須 | Alibaba CloudアカウントまたはRAMユーザーのAccessKeyシークレットMaxCompute。 AccessKey IDとAccessKeyシークレットの取得方法については、「アカウントと権限」をご参照ください。 |
例
CREATE SERVER maxcompute_server
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
"endpoint":"http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
"accessid":"LTAI5t1****",
"accesskey":"mng0dqJ4dBsCY0KTNG****"
}';
外部サーバーの照会
すべての外部サーバーの照会
SHOW SERVER
特定の外部サーバーの照会
構文
SHOW SERVER WHERE SERVER_NAME='<server_name>'
Parameters
パラメーター | 必須 | 説明 |
| 必須 | 外部サーバーの名前。 |
例
SHOW SERVER WHERE SERVER_NAME='maxcompute_server';
特定のタイプの外部サーバーの照会
構文
SHOW SERVER WHERE SERVER_TYPE='<server_type>'
Parameters
パラメーター | 必須 | 説明 |
| 必須 | 外部サーバーのタイプ。 このパラメーターをODPS for MaxComputeに設定します。 |
例
SHOW SERVER WHERE SERVER_TYPE='ODPS';
外部サーバーの名前変更
構文
ALTER SERVER <server_name> RENAME <new_server_name>
Parameters
パラメーター | 必須 | 説明 |
| 必須 | 外部サーバーの元の名前。 |
| 必須 | 外部サーバーの新しい名前。 |
例
ALTER SERVER maxcompute_server RENAME mc_server;
外部サーバーの削除
外部サーバーを削除すると、外部サーバーを使用してAnalyticDB for MySQLとMaxComputeの間に確立されている接続が切断されます。
構文
DROP SERVER <server_name>
Parameters
パラメーター | 必須 | 説明 |
| 必須 | 外部サーバーの名前。 |
例
DROP SERVER maxcompute_server;