AnalyticDB for MySQL では、IMPORT FOREIGN SCHEMA 文を使用して、MaxCompute 外部テーブルを一括作成できます。
前提条件
V3.2.2.0 以降の AnalyticDB for MySQL クラスタが作成されていること。
説明AnalyticDB for MySQL クラスタのマイナーバージョンを表示および更新するには、マイナーバージョンを表示および更新するに記載されている手順に従って、AnalyticDB for MySQL コンソール にログインし、構成情報 セクションの クラスター情報 ページに移動します。
AnalyticDB for MySQL クラスタで ENI (Elastic Network Interface)が有効になっていること。
重要AnalyticDB for MySQL コンソール にログインし、クラスタ詳細ページの左側のナビゲーションウィンドウで を選択し、[ネットワーク情報] セクションで ENI を有効にすることができます。
ENI を有効または無効にすると、データベース接続が約 2 分間中断される場合があります。 この間、読み取りまたは書き込み操作を実行することはできません。 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')]パラメータ
パラメータ | 必須 | 説明 |
| はい | MaxCompute プロジェクトの名前。 |
| いいえ | インポートする の名前MaxCompute テーブルの名前。 テーブル名に制限がない場合、システムは インポートするテーブル。テーブル名に制限が課されていない場合、システム バッチは、MaxComputeプロジェクトを AnalyticDB for MySQL クラスタ内の クラスタ。 プロジェクトに一致するすべてのテーブルを一括作成します。 |
| はい | 外部サーバーの名前。 外部サーバーの構文については、このトピックの「外部サーバーの管理」セクションをご参照ください。 |
| はい | AnalyticDB for MySQL クラスタ内のデータベースの名前。 |
| いいえ | AnalyticDB for MySQL 内のテーブル名の競合を処理するために使用されるメソッド。有効な値:
|
| いいえ | AnalyticDB for MySQL でサポートされていないデータ型を処理するために使用されるメソッド。有効な値:
|
| いいえ | 外部テーブルの名前のプレフィックス。 デフォルトでは、AnalyticDB for MySQL の外部テーブルは、MaxCompute の対応するテーブルと同じ名前を使用します。 |
| いいえ | 外部テーブルの名前のサフィックスです。デフォルトでは、AnalyticDB for MySQL の外部テーブルは、MaxCompute の対応するテーブルと同じ名前を使用します。 |
例
AnalyticDB for MySQL に pre_customer_suf と pre_order_suf という名前の MaxCompute 外部テーブルを作成します。
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>"
}'パラメータ
パラメータ | 必須 | 説明 |
| はい | 外部サーバーの名前。 名前は最大 64 文字で、文字、数字、およびアンダースコア(_)を含めることができます。 名前は文字またはアンダースコア(_)で始める必要があります。 |
| はい | 外部サーバーのタイプ。 このパラメータを ODPS に設定します。 |
| はい | MaxCompute のエンドポイント。 説明 VPC エンドポイントを使用してのみ MaxCompute にアクセスできます。 MaxCompute エンドポイントについては、「エンドポイント」をご参照ください。 |
| はい | Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID。アクセス許可が必要です。MaxComputeへのアクセス許可が必要です。 AccessKey ID と AccessKey シークレットの取得方法については、「アカウントと権限」をご参照ください。 |
| はい | アクセス権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey シークレットMaxCompute にアクセスするための権限を持つ Alibaba Cloud アカウントまたは RAM ユーザーの AccessKey シークレット。。 AccessKey ID と AccessKey シークレットの取得方法については、「アカウントと権限」をご参照ください。 |
例
CREATE SERVER maxcompute_server
TYPE = 'ODPS'
SERVER_PROPERTIES = '{
"endpoint":"http://service.cn-hangzhou-vpc.maxcompute.aliyun-inc.com/api",
"accessid":"STS.****************",
"accesskey":"yourAccessKeySecret"
}';外部サーバーのクエリ
すべての外部サーバーのクエリ
SHOW SERVER特定の外部サーバーのクエリ
構文
SHOW SERVER WHERE SERVER_NAME='<server_name>'パラメータ
パラメータ | 必須 | 説明 |
| はい | 外部サーバーの名前。 |
例
SHOW SERVER WHERE SERVER_NAME='maxcompute_server';特定タイプの外部サーバーのクエリ
構文
SHOW SERVER WHERE SERVER_TYPE='<server_type>'パラメータ
パラメータ | 必須 | 説明 |
| はい | 外部サーバータイプ。 MaxCompute の場合は、このパラメータを ODPS に設定します。 |
例
SHOW SERVER WHERE SERVER_TYPE='ODPS';外部サーバーの名前変更
構文
ALTER SERVER <server_name> RENAME <new_server_name>パラメータ
パラメータ | 必須 | 説明 |
| はい | 外部サーバーの元の名前。 |
| はい | 外部サーバーの新しい名前。 |
例
ALTER SERVER maxcompute_server RENAME mc_server;外部サーバーの削除
外部サーバーを削除すると、外部サーバーを使用して AnalyticDB for MySQL と MaxCompute の間に確立された接続が切断されます。
構文
DROP SERVER <server_name>パラメータ
パラメータ | 必須 | 説明 |
| はい | 外部サーバーの名前。 |
例
DROP SERVER maxcompute_server;