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

AnalyticDB:ApsaraDB RDS for MySQLへのデータのエクスポート

最終更新日:Jun 11, 2024

AnalyticDB for MySQLでは、外部テーブルを使用してデータをインポートおよびエクスポートできます。 このトピックでは、AnalyticDB for MySQL Data Warehouse Edition (V3.0) の外部テーブルを使用して、AnalyticDB for MySQLクラスターからApsaraDB RDS for MySQLインスタンスにデータをエクスポートする方法について説明します。

前提条件

  • ApsaraDB RDS for MySQLインスタンスとAnalyticDB for MySQLクラスターは同じ仮想プライベートクラウド (VPC) にデプロイされています。つまり、インスタンスのVPC IDはクラスターのものと同じです。

    説明
    • インスタンスのVPC IDを取得するには、ApsaraDB RDSコンソールにログインし、インスタンスIDをクリックします。 [データベース接続] ページで、[ネットワークタイプ] フィールドにVPC IDを表示できます。

    • クラスターのVPC IDを取得するには、AnalyticDB for MySQLコンソールにログインし、Data Warehouse Edition (V3.0) タブに移動して、クラスターIDをクリックします。 クラスター情報 ページの ネットワーク情報 セクションで、AnalyticDB for MySQLクラスターのVPC IDを表示できます。

  • ApsaraDB RDS for MySQLインスタンスにデータベースが作成され、データベースにログインしています。 テストデータを準備する。 詳細については、「アカウントとデータベースの作成」および「ApsaraDB RDS For MySQLインスタンスへの接続」をご参照ください。
    この例では、ApsaraDB RDS for MySQLインスタンスのターゲットデータベースとしてtest_adbという名前のデータベースが使用されています。 coursesという名前のテーブルがデータベースに作成されます。 このテーブルは、AnalyticDB for MySQLクラスターからエクスポートされたデータを格納するために使用されます。 次のステートメントを使用して、ターゲットテーブルを作成します。
    
        id bigint NOT NULL,
        名前varchar(32) NOT NULL,
        グレードvarchar (32) NOT NULL,
        submission_date timestamp NOT NULL,
        主要なキー (id)
    ); 
  • AnalyticDB for MySQLクラスターがエラスティックモードの場合、クラスター情報 ページの ネットワーク情報 セクションでEniネットワークをオンにする必要があります。启用ENI网络

手順

  1. AnalyticDB for MySQLクラスターに接続します。 詳細については、「AnalyticDB For MySQLクラスターへの接続」をご参照ください。

  2. ソースデータベースを作成します。 詳細については、「データベースの作成」をご参照ください。

    この例では、adb_demoという名前のデータベースがAnalyticDB for MySQLクラスターのソースデータベースとして使用されています。

  3. ソーステーブルを作成し、ソーステーブルにデータを挿入します。

    次のステートメントを実行して、adb_demoソースデータベースにcoursesという名前のソーステーブルを作成します。 次に、ソーステーブルのデータをtest_adbターゲットデータベースのcoursesテーブルにエクスポートします。

    テーブルコースの作成 (
    id bigint AUTO_INCREMENT、名前varchar NOT NULL,
    グレードvarchar DEFAULT '1st grade '、submission_dateタイムスタンプ
    ) ハッシュによる分配 (id); 
    次のステートメントを実行して、coursesソーステーブルにデータの行を挿入します。
    insert into courses (name,submission_date) VALUES("Jams",NOW());
  4. 外部テーブルを作成します。
    次のステートメントを実行して、adb_demoデータベースにcourses_external_tableという名前の外部テーブルを作成します。
    create table IF NOT EXISTS courses_external_table (
     id bigint NOT NULL,
     名前varchar(32) NOT NULL,
     グレードvarchar (32) NOT NULL,
     submission_date timestamp NOT NULL,
     主要なキー (id)
     )
    エンジン='mysql'
    TABLE_PROPERTIES='{
    "url":"jdbc:mysql:// mysql-vpc-address:3306/test_adb" 、"tablename":"コース" 、"username":"mysql-user-name" 、"password":"mysql-user-password" 、"charset":"utf8"
    } '; 
    パラメーター説明
    エンジン='mysql'外部テーブルに使用されるストレージエンジン。 この例では、MySQLが使用されています。
    テーブル_プロパティAnalyticDB for MySQLクラスターがApsaraDB RDS for MySQLインスタンスのデータにアクセスするために使用する接続情報。
    urlApsaraDB RDS for MySQLインスタンスのVPCエンドポイントとターゲットデータベースの名前。 この例では、ターゲットデータベースの名前はtest_adbです。 ApsaraDB RDS For MySQLインスタンスのVPCエンドポイントを表示する方法の詳細については、「インスタンスエンドポイントとポートの表示と管理」をご参照ください。

    形式: "jdbc:mysql:// mysql-vpc-address:3306/ecs-database-name"

    例: jdbc:mysql:// 192.168.128 ***:3306/test_adb

    tablenameターゲットApsaraDB RDS for MySQLデータベースのターゲットテーブルの名前。 この例では、コースが使用されています。
    ユーザー名ApsaraDB RDS for MySQLインスタンスのターゲットデータベースへの接続に使用されるアカウントの名前。
    パスワード前のアカウントのパスワード。
    charsetソースデータベースで使用される文字セット。 デフォルト値: utf8。 有効な値:
    • gbk
    • utf8
    • utf8mb4
  5. AnalyticDB for MySQLクラスターからApsaraDB RDS for MySQLインスタンスにデータをインポートします。
    次のステートメントを実行します。
    REPLACE INTO courses_external_table
    SELECT * FROMコース; 

次のステップ

データのインポート後、ApsaraDB RDS for MySQLインスタンスのtest_adbターゲットデータベースにログインできます。 次に、次のステートメントを実行して、データがソーステーブルからcourses宛先テーブルにインポートされているかどうかを確認します。
SELECT * from coursLIMIT 100;