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

MaxCompute:Elasticsearch から MaxCompute へのデータ移行

最終更新日:Mar 26, 2026

このトピックでは、DataWorks (DW) のデータ同期機能を使用して、Alibaba Cloud Elasticsearch (ES) クラスターから MaxCompute (MC) へデータを移行する方法について説明します。

前提条件

  • MaxCompute がアクティブ化されていること。

    詳細については、「MC のアクティブ化」をご参照ください。

  • DataWorks がアクティブ化されていること。

    詳細については、「購入」をご参照ください。

  • MC データソースが追加されていること。詳細については、「MC 計算リソースのアタッチ」をご参照ください。

  • DW でビジネスフローが作成されていること。

    この例では、DW の基本モードを使用します。詳細については、「ビジネスフローの作成」をご参照ください。

  • ES クラスターが作成されていること。

    データを移行する前に、ご利用の ES クラスターが正常に稼働していることを確認してください。ES クラスターの作成方法の詳細については、「初心者ガイド: インスタンス作成からデータ取得まで」をご参照ください。

    この例で使用する ES クラスターの構成は次のとおりです。

    • リージョン: 中国 (上海)

    • ゾーン: 上海ゾーンB

    • バージョン: 5.5.3 with Commercial Feature

背景情報

Elasticsearch は Lucene をベースとした検索サーバーです。分散型マルチテナント全文検索エンジンを提供します。Elasticsearch は Apache License に準拠したオープンソースプロダクトであり、主要なエンタープライズ検索エンジンです。

Alibaba Cloud Elasticsearch は、Elasticsearch 5.5.3 with Commercial Feature、6.3.2 with Commercial Feature、6.7.0 with Commercial Feature、および商用 X-Pack プラグインを提供します。データ分析やデータ検索などのシナリオ向けに設計されています。ES は、オープンソースの Elasticsearch を基盤として、権限管理、セキュリティ監視とアラート、自動レポート生成などのエンタープライズレベルの機能を提供します。

操作手順

  1. Elasticsearch にソーステーブルを作成します。詳細については、「DW を使用した MC から ES へのデータ同期」をご参照ください。

  2. MC にターゲットテーブルを作成します。

    1. DW コンソールにログインします。上部のナビゲーションバーで目的のリージョンを選択します。左側のナビゲーションウィンドウで、[データ開発とO&M] > [データ開発] を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に進む] をクリックします。

    2. 作成したビジネスフローを右クリックし、[新規テーブル] > [MaxCompute] > [テーブル] を選択します。

    3. テーブルの作成」ダイアログボックスで、[名前] を入力し、[作成] をクリックします。

      説明

      Data Studio で複数の MC 計算リソースがアタッチされている場合は、必要に応じて [MaxCompute Engine インスタンス] を選択します。

    4. テーブル編集ページで、[DDLモード] をクリックします。

    5. [DDL] ダイアログボックスで、テーブルを作成するための次の文を入力し、[テーブルスキーマの生成] をクリックします。

      create table elastic2mc_bankdata 
      (
      age             string,
      job             string,
      marital         string,
      education       string,
      default         string,
      housing         string,
      loan            string,
      contact         string,
      month           string,
      day of week     string
      );
    6. [本番環境へ送信] をクリックします。

  3. データを同期します。

    1. データ分析ページに移動します。指定したワークフローを右クリックし、[ノードの作成] > [データ統合] > [オフライン同期] を選択します。

    2. ノードの作成」ダイアログボックスで、「名前」を入力し、「確認」をクリックします。

    3. 上部のナビゲーションバーで、Conversion script アイコンを選択します。

    4. スクリプトモードで、** アイコンをクリックします。

    5. [テンプレートのインポート] ダイアログボックスで、[ソースタイプ]、[データソース]、[ターゲットタイプ]、および [データソース] を指定し、[確認] をクリックします。

    6. スクリプトを構成します。

      次のコードは例を示しています。パラメーターの詳細については、「Elasticsearch Reader」をご参照ください。

      {
       "type": "job",
       "steps": [
       {
       "stepType": "elasticsearch",
       "parameter": {
       "retryCount": 3,
       "column": [
       "age",
       "job",
       "marital",
       "education",
       "default",
       "housing",
       "loan",
       "contact",
       "month",
       "day_of_week",
       "duration",
       "campaign",
       "pdays",
       "previous",
       "poutcome",
       "emp_var_rate",
       "cons_price_idx",
       "cons_conf_idx",
       "euribor3m",
       "nr_employed",
       "y"
       ],
       "scroll": "1m",
       "index": "es_index",
       "pageSize": 1,
       "sort": {
       "age": "asc"
      },
       "type": "elasticsearch",
       "connTimeOut": 1000,
       "retrySleepTime": 1000,
       "endpoint": "http://es-cn-xxxx.xxxx.xxxx.xxxx.com:9200",
       "password": "xxxx",
       "search": {
       "match_all": {}
       },
       "readTimeOut": 5000,
       "username": "xxxx"
       },
       "name": "Reader",
       "category": "reader"
       },
       {
       "stepType": "odps",
       "parameter": {
       "partition": "",
       "truncate": true,
       "compress": false,
       "datasource": "odps_source",// The name of the MaxCompute data source
       "column": [
       "age",
       "job",
       "marital",
       "education",
       "default",
       "housing",
       "loan",
       "contact",
       "month",
       "day_of_week",
       "duration",
       "campaign",
       "pdays",
       "previous",
       "poutcome",
       "emp_var_rate",
       "cons_price_idx",
       "cons_conf_idx",
       "euribor3m",
       "nr_employed",
       "y"
       ],
       "emptyAsNull": false,
       "table": "elastic2mc_bankdata"
       },
       "name": "Writer",
       "category": "writer"
       }
       ],
       "version": "2.0",
       "order": {
       "hops": [
       {
       "from": "Reader",
       "to": "Writer"
       }
       ]
       },
       "setting": {
       "errorLimit": {
       "record": "0"
       },
       "speed": {
       "throttle": false,
       "concurrent": 1,
       "dmu": 1
       }
       }
      }
      説明

      ご利用の ES クラスターの [基本情報] ページで、パブリックエンドポイントパブリックポート を表示できます。

    7. ** アイコンをクリックしてコードを実行します。

    8. [操作ログ]で結果を確認できます。

  4. 結果を表示します。

    1. ワークフローを右クリックし、[新規] > [MaxCompute] > [ODPS SQL] を選択します。

    2. [ノードの作成] ダイアログボックスで、[ノード名] を入力し、[送信] をクリックします。

    3. ODPS SQL ノード編集ページで、次のステートメントを入力します。

      SELECT * FROM elastic2mc_bankdata;
    4. ** アイコンをクリックしてコードを実行します。

    5. 結果は[操作ログ]で確認できます。