本文為您介紹如何通過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基礎上提供企業級許可權管控、安全監控警示、自動報表產生等功能。
操作步驟
在Elasticsearch上建立源表。詳情請參見通過DataWorks將MaxCompute資料同步到阿里雲ES。
在MaxCompute上建立目標表。
登入DataWorks控制台,切換至目標地區後,單擊左側導覽列的 ,在下拉框中選擇對應工作空間後單擊進入資料開發。
在資料開發頁面,按右鍵目標工作流程,選擇 。
在彈出的建立表對話方塊中,填寫名稱,並單擊建立。
說明如果綁定多個執行個體,則需要選擇MaxCompute引擎執行個體。
在表的編輯頁面,單擊DDL。
在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 );
單擊提交到生產環境。
同步資料。
進入資料開發頁面,按右鍵指定商務程序,選擇 。
在建立節點對話方塊中,輸入名稱,並單擊確認。
在頂部功能表列上,單擊表徵圖。
在指令碼模式下,單擊頂部功能表列上的表徵圖。
在匯入模板對話方塊中選擇來源類型、資料來源、目標類型及資料來源,並單擊確定。
配置指令碼。
範例程式碼如下。代碼釋義請參見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叢集的基本資料中,查看公網地址和公網連接埠資訊。
單擊表徵圖運行代碼。
您可以在作業記錄查看運行結果。
查看結果。
按右鍵商務程序,選擇 。
在建立節點對話方塊中輸入節點名稱,並單擊確認。
在ODPS SQL節點編輯頁面輸入如下語句。
SELECT * FROM elastic2mc_bankdata;
單擊表徵圖運行代碼。
您可以在作業記錄查看運行結果。