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

AnalyticDB:MaxComputeへのデータのエクスポート

最終更新日:Jun 11, 2024

このトピックでは、外部テーブルを使用してAnalyticDB for MySQL Data Warehouse Edition (V3.0) データをMaxComputeパーティションテーブルにエクスポートする方法について説明します。

前提条件

  • ターゲットテーブルはMaxComputeで作成されます。 詳細については、「Alibaba Cloudアカウントの作成」および「テーブルの作成」をご参照ください。

    たとえば、テーブル作成ステートメントを実行すると、次のいずれかのテーブルがMaxComputeで作成されます。 詳細については、「テーブル操作」をご参照ください。 宛先テーブルを作成した場合は、この手順をスキップします。

    説明 MaxComputeパーティションテーブルにデータをエクスポートするには、データを書き込むパーティションを指定する必要があります。 複数のSQL文を実行することによってのみ、データを複数のパーティションにエクスポートできます。 MaxComputeは、最大6レベルのパーティションをサポートします。 上記の操作を参照して、より高いレベルのパーティションを持つテーブルを作成できます。
    • ハッシュパーティション
      を持つテーブルを作成するCreate table IF NOT EXISTS odps_table
      (
      uidストリング
       )
      によって参加 (dsストリング)
      ライフサイクル3; 
    • リストパーティション
      を持つテーブルを作成するCreate table IF NOT EXISTS odps_table
      (
      uidストリング
       )
      (dsストリング、その他のストリング)
      ライフサイクル3; 
  • AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスターが作成され、ホワイトリストが設定され、データベースアカウントとデータベースが作成されます。 詳細については、「クラスターの作成」をご参照ください。
  • AnalyticDB for MySQLクラスターがエラスティックモードの場合、クラスター情報 ページの ネットワーク情報 セクションでEniネットワークをオンにする必要があります。启用ENI网络

ハッシュパーティションを持つMaxComputeテーブルにデータをエクスポートする

次の例では、AnalyticDB for MySQL data Warehouse Edition (V3.0) クラスターのadb_tableテーブルから、MaxComputeのハッシュパーティションを持つodps_tableテーブルにデータがエクスポートされます。

  1. AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスターに接続します。 詳細については、「AnalyticDB For MySQLクラスターへの接続」をご参照ください。
  2. MaxComputeのターゲットテーブルにマップする外部テーブルを作成します。
    CREATE TABLE odps_external_table
    (
    uid文字列、dsストリング
    )
    エンジン='ODPS'
    TABLE_PROPERTIES='{
    "endpoint":" http://service.odps.aliyun-inc.com/api " 、"accessid":"xxx" 、"accesskey":"xxx" 、"project_name":"xxx" 、"table_name":"odps_table" 、"partition_column":"ds"
    } ' 
    パラメーター説明
    エンジン='ODPS'外部テーブルに使用されるエンジン。 エンジンをMaxComputeに設定します。
    タブレット_プロパティAnalyticDB for MySQLがMaxComputeにアクセスしてデータを書き込むために使用する接続情報。
    endpointMaxComputeのエンドポイント
    説明 AnalyticDB for MySQLは、仮想プライベートクラウド (VPC) エンドポイントを使用してのみMaxComputeにアクセスできます。

    MaxComputeエンドポイントを表示する方法の詳細については、「エンドポイント」をご参照ください。

    accessidMaxComputeのターゲットテーブルへのアクセスに使用されるAccessKey ID。
    accesskeyMaxComputeのターゲットテーブルへのアクセスに使用されるAccessKeyシークレット。
    project_nameMaxComputeでターゲットテーブルが属するプロジェクトの名前。
    table_nameMaxComputeのターゲットテーブルの名前。
    partition_columnパーティションフィールド。
  3. AnalyticDB for MySQL外部テーブルからハッシュパーティションを持つMaxComputeテーブルにデータをエクスポートします。
    説明 adb_table_columnにはパーティションフィールドが含まれていません。
    odps_external_tableパーティションへのinsert [overwrite] (ds='20200401')
    select [adb_table_column, ...] from adb_table [where ...] 

リストパーティションを持つMaxComputeテーブルにデータをエクスポートする

次の例では、AnalyticDB for MySQL data Warehouse Edition (V3.0) クラスターのadb_tableテーブルから、MaxComputeのリストパーティションを持つodps_tableテーブルにデータがエクスポートされます。

  1. AnalyticDB for MySQL Data Warehouse Edition (V3.0) クラスターに接続します。 詳細については、「AnalyticDB For MySQLクラスターへの接続」をご参照ください。
  2. MaxComputeのターゲットテーブルにマップする外部テーブルを作成します。
    CREATE TABLE odps_external_table
    (
    uid文字列、dsストリング、その他の文字列)
    エンジン='ODPS'
    TABLE_PROPERTIES='{
    "endpoint":" http://service.odps.aliyun-inc.com/api " 、"accessid":"xxx" 、"accesskey":"xxx" 、"project_name":"xxx" 、"table_name":"odps_table" 、"partition_column":"ds,other"
    } ' 
  3. AnalyticDB for MySQL外部テーブルからリストパーティションを持つMaxComputeテーブルにデータをエクスポートします。
    説明 adb_table_columnにはパーティションフィールドが含まれていません。
    odps_external_tableパーティションに [上書き] を挿入します (ds='20200401',other='hangzhou')
    select [adb_table_column, ...] from adb_table [where ...]