すべてのプロダクト
Search
ドキュメントセンター

AnalyticDB:IMPORT FOREIGN SCHEMA

最終更新日:Apr 15, 2025

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')]

パラメータ

パラメータ

必須

説明

odps_project

はい

MaxCompute プロジェクトの名前。

table_name[,...]

いいえ

インポートする の名前MaxCompute テーブルの名前。 テーブル名に制限がない場合、システムは インポートするテーブル。テーブル名に制限が課されていない場合、システム バッチは、MaxComputeプロジェクトを AnalyticDB for MySQL クラスタ内の クラスタ。 プロジェクトに一致するすべてのテーブルを一括作成します。

server_name

はい

外部サーバーの名前。 外部サーバーの構文については、このトピックの「外部サーバーの管理」セクションをご参照ください。

adb_schema

はい

AnalyticDB for MySQL クラスタ内のデータベースの名前。

if_table_exist

いいえ

AnalyticDB for MySQL 内のテーブル名の競合を処理するために使用されるメソッド。有効な値:

  • error(デフォルト):エラーを報告し、同じ名前のテーブルをリストします。 この場合、テーブルは作成されません。

  • ignore:同じ名前のテーブルの作成をスキップします。 この場合、他のテーブルは想定どおりに作成されます。

  • update:同じ名前の元のテーブルを上書きし、新しいテーブルを作成します。 この場合、他のテーブルは想定どおりに作成されます。

if_type_unsupport

いいえ

AnalyticDB for MySQL でサポートされていないデータ型を処理するために使用されるメソッド。有効な値:

  • error(デフォルト):エラーを報告し、サポートされていないデータ型と関連するテーブルをリストします。

  • ignore:サポートされていないデータ型を持つテーブルの作成をスキップします。

table_prefix

いいえ

外部テーブルの名前のプレフィックス。 デフォルトでは、AnalyticDB for MySQL の外部テーブルは、MaxCompute の対応するテーブルと同じ名前を使用します。

table_suffix

いいえ

外部テーブルの名前のサフィックスです。デフォルトでは、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>"
}'

パラメータ

パラメータ

必須

説明

server_name

はい

外部サーバーの名前。 名前は最大 64 文字で、文字、数字、およびアンダースコア(_)を含めることができます。 名前は文字またはアンダースコア(_)で始める必要があります。

TYPE='ODPS'

はい

外部サーバーのタイプ。 このパラメータを ODPS に設定します。

endpoint

はい

MaxCompute のエンドポイント。

説明

VPC エンドポイントを使用してのみ MaxCompute にアクセスできます。 MaxCompute エンドポイントについては、「エンドポイント」をご参照ください。

accessid

はい

Alibaba Cloud アカウントまたは Resource Access Management (RAM) ユーザーの AccessKey ID。アクセス許可が必要です。MaxComputeへのアクセス許可が必要です。

AccessKey ID と AccessKey シークレットの取得方法については、「アカウントと権限」をご参照ください。

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>'
パラメータ

パラメータ

必須

説明

server_name

はい

外部サーバーの名前。

SHOW SERVER WHERE SERVER_NAME='maxcompute_server';

特定タイプの外部サーバーのクエリ

構文
SHOW SERVER WHERE SERVER_TYPE='<server_type>'
パラメータ

パラメータ

必須

説明

server_type

はい

外部サーバータイプ。 MaxCompute の場合は、このパラメータを ODPS に設定します。

SHOW SERVER WHERE SERVER_TYPE='ODPS';

外部サーバーの名前変更

構文

ALTER SERVER <server_name> RENAME <new_server_name>

パラメータ

パラメータ

必須

説明

server_name

はい

外部サーバーの元の名前。

new_server_name

はい

外部サーバーの新しい名前。

ALTER SERVER maxcompute_server RENAME mc_server;

外部サーバーの削除

説明

外部サーバーを削除すると、外部サーバーを使用して AnalyticDB for MySQLMaxCompute の間に確立された接続が切断されます。

構文

DROP SERVER <server_name>

パラメータ

パラメータ

必須

説明

server_name

はい

外部サーバーの名前。

DROP SERVER maxcompute_server;