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

ApsaraDB RDS:クラウドディスクを使用するApsaraDB RDS for MySQLインスタンスのデータをAnalyticDB for MySQLクラスターにインポートする

最終更新日:May 09, 2024

クラウドディスクを使用するApsaraDB RDS for MySQLインスタンスのデータをクエリおよび分析する場合は、高度なダウンロード機能を使用して、データをObject Storage Service (OSS) バケットにダウンロードできます。 その後、ダウンロードしたデータをAnalyticDB for MySQLクラスターにインポートして、クエリと分析を実行できます。

前提条件

使用上の注意

AnalyticDB for MySQLでは、CSVおよびParquetファイルをインポートできます。 RDSインスタンスのバックアップファイルをダウンロードするときは、ダウンロード形式をCSVまたはParquetに設定する必要があります。

準備

AnalyticDB for MySQLクラスターのデータをOSSバケットに保存するためのディレクトリを作成します。 次に、バックアップダウンロード機能を使用して、必要なデータをOSSバケットにダウンロードします。 詳細については、「OSSの概要」をご参照ください。

  1. OSSの有効化 詳細については、「OSSの有効化」をご参照ください。

  2. OSSコンソールでバケットを作成します。 詳細については、「バケットの作成」をご参照ください。

    説明

    OSSバケットとAnalyticDB for MySQLクラスターが同じリージョンにあることを確認します。

  3. OSSコンソールでディレクトリを作成します。 詳細については、「ディレクトリの管理」をご参照ください。

  4. バックアップダウンロード機能を使用してRDSインスタンスのバックアップファイルをダウンロードし、ダウンロード先パラメーターをOSSに設定します。 詳細については、「ApsaraDB RDS For MySQLインスタンスのバックアップファイルのダウンロード」をご参照ください。

    説明

    このパラメーターに別の値を選択した場合、バックアップファイルをOSSバケットにアップロードする必要があります。 詳しくは、「オブジェクトのアップロード」をご参照ください。

    この例では、RDSインスタンスのソースデータベースの名前はmydbで、mytableテーブルがデータベースに作成されます。 表のサンプルデータ:

    INSERT INTO mytable (id, name)
    値
        ("12" 、"hello_world_1") 、
        ("27" 、"hello_world_2") 、
        ("28" 、"hello_world_3") 、
        ("33" 、"hello_world_4") 、
        ("37" 、"hello_world_5") 、
        ("40" 、"hello_world_6"); 

    バックアップダウンロード機能を使用して、mytableテーブルからOSSバケットの /bucket/_export/mydb/mytable/data/0-1csvディレクトリにデータをダウンロードします。

OSSバケットからAnalyticDB for MySQLクラスターへのデータのインポート

この例では、データは /bucket/_export/mydb/mytable/data/0-1csvディレクトリからAnalyticDB for MySQLクラスターのadb_demoデータベースにインポートされます。

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

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

    この例では、adb_demoという名前のデータベースがAnalyticDB for MySQLクラスターに作成されます。

  3. 外部マッピングテーブルを作成します。

    説明

    外部マッピングテーブルを作成するときは、元のテーブルと同じテーブル名を使用するか、別のテーブル名を使用できます。

    AnalyticDB for MySQLはテーブル分析のみをサポートしています。 データ分析の前に、マッピングテーブルがAnalyticDB for MySQLクラスターに作成されていることを確認してください。 CREATE TABLEステートメントを実行して、adb_demoデータベースにCSVまたはParquet形式のOSS外部マッピングテーブルを作成できます。 この例では、パーティションを持たず、CSV形式のOSS外部マッピングテーブルが作成されます。 構文の詳細については、「外部テーブルを使用してデータをdata Warehouse Editionにインポートする」をご参照ください。

    mytableが存在しない場合は
    テーブルを作成する
    (
        id文字列、
        名前文字列
    )
    エンジン='OSS'
    TABLE_PROPERTIES='{
        "endpoint":"oss-cn-hangzhou-internal.aliyuncs.com" 、
        "url":"oss:// bucket/_export/mydb/mytable/data/0-1csv" 、
        "accessid":"LTAIF **** 5FsE" 、
        "accesskey":"Ccw **** iWjv" 、
        "delimiter":",",
        "format":"csv"
    } '; 

    パラメーター

    説明

    エンジン='OSS'

    外部テーブルに使用されるストレージエンジン (OSS) 。

    タブレット_プロパティ

    AnalyticDB for MySQLがOSSへのアクセスに使用する接続情報。

    endpoint

    OSSバケットのエンドポイント

    説明

    AnalyticDB for MySQLは、VPC経由でElastic Compute Service (ECS) インスタンスからのみOSSにアクセスできます。

    OSSコンソールにログインしてバケットを見つけ、[概要] ページでエンドポイントを表示します。

    url

    OSS内のソースオブジェクトまたはディレクトリの絶対パス。 ディレクトリの絶対パスの末尾にスラッシュ (/) を使用することをお勧めします。

    例:

    • オブジェクト: oss://<bucket-name>/adb/oss_import_test_data.csv

    • ディレクトリ: oss://<bucket-name>/adb_data/

      説明

      このパラメーターをソースディレクトリの絶対パスに設定した場合、作成された外部テーブルにはディレクトリ内のすべてのデータが含まれます。

    accessid

    OSSのオブジェクトまたはディレクトリへのアクセスに使用されるAccessKey ID。

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

    accesskey

    OSSのオブジェクトまたはディレクトリへのアクセスに使用されるAccessKeyシークレット。

    delimiter

    CSV形式のオブジェクトの列区切り文字。 たとえば、列の区切り文字をコンマ (,) に設定できます。

    フォーマット

    オブジェクトの形式。

    • Parquet形式で外部テーブルを作成する場合、このパラメーターをparquetに設定する必要があります。

    • ORC形式で外部テーブルを作成する場合、このパラメーターをorcに設定する必要があります。

    説明

    formatパラメーターが指定されていない場合は、CSV形式が使用されます。

    説明

    ダウンロードしたファイルのテーブルが0-1csv0-2csvなどの複数のCSVファイルに保存されている場合は、URLを "url":"oss:// bucket/_export/mydb/mytable/data/" に変更するだけです。 次に、AnalyticDB for MySQLは、このディレクトリ内のファイルをmytable分析テーブルにマージします。

    これにより、AnalyticDB for MySQLクラスターでmytableテーブルを表示できます。 このテーブルの内容は、元のmytableテーブルの内容とまったく同じです。 mytableテーブルのデータをクエリできます。

  4. 次の文を実行して、インポートしたデータを照会します。

    -- mytableは、AnalyticDB for MySQLクラスターのデータベース内のテーブルの名前です。
    SELECT * mytableから; 

    照会されたテーブルのデータが返されます。 返されるデータは、元のmytableテーブルのデータとまったく同じです。

    image.png

次のステップ

クラウドディスクを使用するRDSインスタンスのデータをAnalyticDB for MySQLクラスターにインポートした後、AnalyticDB for MySQLを使用してデータのビジネス分析を実行します。 複数のテーブルを照会する場合は、上記の手順に従って、複数のテーブルをadb_demoデータベースにインポートします。