全部產品
Search
文件中心

MaxCompute:Elasticsearch資料移轉至MaxCompute

更新時間:Jun 19, 2024

本文為您介紹如何通過DataWorks資料同步功能,遷移Elasticsearch叢集上的資料至MaxCompute。

前提條件

  • 已開通MaxCompute服務。

    開通指導,詳情請參見開通MaxCompute和DataWorks

  • 已開通DataWorks服務。

    開通指導,詳情請參見開通DataWorks服務

  • 在DataWorks上已完成建立商務程序。

    本例使用DataWorks簡單模式,詳情請參見建立商務程序

  • 已搭建Elasticsearch叢集。

    進行資料移轉前,您需要保證自己的Elasticsearch叢集環境正常。搭建Elasticsearch叢集的詳細過程,請參見快速入門

    本樣本中Elasticsearch的具體配置如下:

    • 地區:華東2(上海)

    • 可用性區域:上海可用性區域B

    • 版本:5.5.3 with Commercial Feature

背景資訊

Elasticsearch是一個基於Lucene的搜尋伺服器,它提供了一個多使用者分布式的全文檢索搜尋引擎。Elasticsearch是遵從Apache開源條款的一款開源產品,是當前主流的企業級搜尋引擎。

Elasticsearch提供Elasticsearch 5.5.3 with Commercial Feature、6.3.2 with Commercial Feature、6.7.0 with Commercial Feature及商業外掛程式X-pack服務,致力於資料分析、資料搜尋等情境服務。在開源Elasticsearch基礎上提供企業級許可權管控、安全監控警示、自動報表產生等功能。

操作步驟

  1. 在Elasticsearch上建立源表。詳情請參見通過DataWorks將MaxCompute資料同步到阿里雲ES

  2. 在MaxCompute上建立目標表。

    1. 登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的資料建模與開發 > 資料開發,在下拉框中選擇對應工作空間後單擊進入資料開發

    2. 資料開發頁面,按右鍵目標工作流程,選擇建立表 > MaxCompute >

    3. 在彈出的建立表對話方塊中,填寫名稱,並單擊建立

      說明

      如果綁定多個執行個體,則需要選擇MaxCompute引擎執行個體

    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. 進入資料開發頁面,按右鍵指定商務程序,選擇建立節點 > Data Integration > 離線同步

    2. 建立節點對話方塊中,輸入名稱,並單擊確認

    3. 在頂部功能表列上,單擊轉化指令碼表徵圖。

    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_first",
       "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
       }
       }
      }
      說明

      您可以在建立的Elasticsearch叢集的基本資料中,查看公網地址公網連接埠資訊。

    7. 單擊**表徵圖運行代碼。

    8. 您可以在作業記錄查看運行結果。

  4. 查看結果。

    1. 按右鍵商務程序,選擇建立節點 > MaxCompute > ODPS SQL

    2. 建立節點對話方塊中輸入節點名稱,並單擊確認

    3. 在ODPS SQL節點編輯頁面輸入如下語句。

      SELECT * FROM elastic2mc_bankdata;
    4. 單擊**表徵圖運行代碼。

    5. 您可以在作業記錄查看運行結果。