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

ApsaraDB for SelectDB:MaxCompute データの移行

最終更新日:Nov 09, 2025

このトピックでは、カタログを使用して MaxCompute (MC) から ApsaraDB for SelectDB にオフラインデータを移行する方法について説明します。

前提条件

MaxCompute の Storage API 機能を有効にする必要があります。詳細については、「テナントプロパティ」をご参照ください。

環境例

この例では、MaxCompute の bank_data テーブルから SelectDBmc_db データベースの test_mc2SelectDB テーブルにデータを移行する方法を示します。

  • ソーステーブル: bank_data

  • ターゲットデータベース: mc_db

  • ターゲットテーブル: test_mc2SelectDB

手順

  1. SelectDB インスタンスに接続します。詳細については、「インスタンスへの接続」をご参照ください。

  2. カタログを作成します。

    1. MaxCompute カタログを作成します。

      CREATE CATALOG mc PROPERTIES (
       "type" = "max_compute",
       "mc.region" = "cn-beijing",
       "mc.default.project" = "yourProject",
       "mc.access_key" = "yourAccessKeyID",
       "mc.secret_key" = "yourAccessKeySecret",
       "mc.endpoint" = "https://service.cn-beijing-vpc.maxcompute.aliyun-inc.com/api"
      );

      パラメーター

      説明

      type

      値は "max_compute" に固定されます。

      mc.region

      MaxCompute プロジェクトが配置されているリージョン。

      mc.default.project

      MaxCompute プロジェクトの名前。

      mc.access_key

      AccessKey ID。詳細については、「AccessKey の作成」をご参照ください。

      mc.secret_key

      AccessKey Secret。

      mc.public_access

      mc.endpoint がインターネットエンドポイントとして設定されている場合は、"mc.public_access"="true" を設定する必要があります。

      mc.endpoint

      MaxCompute プロジェクトが配置されているリージョンのエンドポイント

      説明

      ApsaraDB for SelectDB バージョン 4.0 以降では、このパラメーターが必要です。

    2. カタログを表示します。

      SHOW CATALOGS; -- カタログが作成されたかどうかを確認します。

      次の結果が返されます。

      CatalogId	CatalogName	Type	        IsCurrent	CreateTime	LastUpdateTime	  Comment
      0	        internal	internal	Yes			                          Doris internal catalog
      175854218****	mc	        max_compute	No	        2025-09-24 11:26:27.552259510		
    3. (任意) 外部カタログ mc に切り替えます。

      説明

      現在、ApsaraDB for SelectDB は外部カタログ内のデータに対する読み取り操作のみをサポートしています。内部カタログのデータにアクセスするのと同じ方法で、外部カタログ mc のデータを表示およびアクセスできます。詳細については、「クエリ構文」をご参照ください。

      SWITCH mc;
    4. (任意) 内部カタログ internal に切り替えます。前のステップを実行しなかった場合は、このステップをスキップしてください。

      SWITCH internal;
  3. ターゲットデータベースとテーブルを作成します。

    1. ターゲットデータベースを作成します。

      CREATE database mc_db;
    2. ターゲットデータベースに切り替えます。

      USE mc_db;
    3. テーブルを作成します。ターゲット列のデータの型は、MaxCompute のソース列のデータの型に対応している必要があります。列の型のマッピングの詳細については、「列の型のマッピング」をご参照ください。

      CREATE TABLE test_mc2SelectDB
      (
          age             BIGINT COMMENT '年齢',
          job             VARCHAR(255) COMMENT '職種',
          marital         VARCHAR(255) COMMENT '婚姻状況',
          education       VARCHAR(255) COMMENT '学歴',
          credit          VARCHAR(255) COMMENT 'クレジットカードの有無',
          housing         VARCHAR(255) COMMENT '住宅ローンの有無',
          loan            VARCHAR(255) COMMENT '個人ローンの有無',
          contact         VARCHAR(255) COMMENT '連絡方法',
          month           VARCHAR(255) COMMENT '月',
          day_of_week     VARCHAR(255) COMMENT '曜日',
          duration        VARCHAR(255) COMMENT '期間',
          campaign        BIGINT COMMENT 'このキャンペーン中に行われた連絡の回数',
          pdays           DOUBLE COMMENT '最後の連絡からの間隔',
          previous        DOUBLE COMMENT 'このキャンペーンの前に行われた連絡の回数',
          poutcome        VARCHAR(255) COMMENT '前回のマーケティングキャンペーンの結果',
          emp_var_rate    DOUBLE COMMENT '雇用変動率',
          cons_price_idx  DOUBLE COMMENT '消費者物価指数',
          cons_conf_idx   DOUBLE COMMENT '消費者信頼感指数',
          euribor3m       DOUBLE COMMENT 'ユーリボー 3 か月金利',
          nr_employed     DOUBLE COMMENT '従業員数',
          fixed_deposit   BIGINT COMMENT '定期預金の有無'
      )
      DISTRIBUTED BY HASH(age) BUCKETS 10
      PROPERTIES (
          "replication_num" = "1"
      );
  4. データを移行します。次の SQL 文で、<yourProject> をお使いの MaxCompute プロジェクトの名前に置き換えます。

    INSERT INTO test_mc2SelectDB SELECT *  FROM mc.<yourProject>.bank_data;
  5. COUNTSUM などのテーブル統計をクエリして、ソーステーブルとターゲットテーブル間のデータ整合性を検証します。以下に例を示します。

    SELECT COUNT(*) FROM test_mc2SelectDB;