本文為您介紹如何通過數據集成導入離線Elasticsearch數據。
前提條件
準備阿里云賬號,并創建賬號的訪問密鑰。詳情請參見開通DataWorks服務。
開通MaxCompute,自動產生一個默認的MaxCompute數據源,并使用主賬號登錄DataWorks。
創建工作空間,您可以在工作空間中協作完成業務流程,共同維護數據和任務等。詳情請參見創建工作空間。
準備好相關的數據源,詳情請參見數據源配置。
新建離線同步節點
進入數據開發頁面。
登錄DataWorks控制臺,切換至目標地域后,單擊左側導航欄的 ,在下拉框中選擇對應工作空間后單擊進入數據開發。
展開目標業務流程,右鍵單擊數據集成,選擇
在新建節點對話框中,輸入名稱并選擇路徑。
說明節點名稱的長度不能超過128個字符。
此處的路徑為創建的業務流程,具體操作請參見創建周期業務流程。
單擊確認。
配置離線同步節點
成功創建離線同步節點后,單擊工具欄中的轉換腳本。
單擊提示對話框中的確認,即可進入腳本模式進行開發。
參照下文的腳本模板,根據自身需求進行配置。
{ "configuration": { "setting": { "speed": { "concurrent": "1", //作業并發數。 "mbps": "1" //作業速率上限,此處1mbps = 1MB/s。 } }, "reader": { "parameter": { "connection": [ { "table": [ "es_table" //源端表名。 ], "datasource": "px_mysql_OK" //數據源名,建議和添加的數據源名保持一致。 } ], "column": [ //源端表的列名。 "col_ip", "col_double", "col_long", "col_integer", "col_keyword", "col_text", "col_geo_point", "col_date" ], "where": "", //過濾條件。 }, "plugin": "mysql" }, "writer": { "parameter": { "cleanup": true, //是否在每次導入數據到Elasticsearch時清空原有數據,全量導入或重建索引時,需要設置為true,同步增量時必須為false。 "accessKey": "nimda", //如果使用了X-PACK插件,需要填寫password;如果未使用,則填空字符串即可。阿里云Elasticsearch使用了X-PACK插件,需要填寫password。 "index": "datax_test", // Elasticsearch的索引名稱,如果之前沒有,插件會自動創建。 "alias": "test-1-alias", //數據導入完成后寫入別名。 "settings": { "index": { "number_of_replicas": 0, "number_of_shards": 1 } }, "batchSize": 1000, //每次批量數據的條數。 "accessId": "default", //如果使用了X-PACK插件,需要填寫username;如果未使用,則填空字符串即可。阿里云Elasticsearch使用了X-PACK插件,需要填寫username。 "endpoint": "http://xxx.xxxx.xxx:xxxx", //Elasticsearch的連接地址,可以在控制臺查看。 "splitter": ",", //如果插入數據是array,則使用指定分隔符。 "indexType": "default", //Elasticsearch中相應索引下的類型名稱。 "aliasMode": "append", //數據導入完成后增加別名的模式,append(增加模式),exclusive(只留這一個)。 "column": [ //Elasticsearch中的列名,順序和Reader中的Column順序一致。 { "name": "col_ip", "type": "ip"http://文本類型,采用默認分詞。 }, { "name": "col_double", "type": "string" }, { "name": "col_long", "type": "long" }, { "name": "col_integer", "type": "integer" }, { "name": "col_keyword", "type": "keyword" }, { "name": "col_text", "type": "text" }, { "name": "col_geo_point", "type": "geo_point" }, { "name": "col_date", "type": "date" } ], "discovery": false//是否自動發現,設置為true。 }, "plugin": "elasticsearch"http://Writer插件的名稱:Elasticsearch Writer,無需修改。 } }, "type": "job", "version": "1.0" }
單擊圖標后,再單擊圖標。
說明Elasticsearch僅支持以腳本模式導入數據。
保存同步任務后,直接單擊圖標,任務會立刻運行。
您也可以單擊圖標,提交同步任務至調度系統中,調度系統會按照配置屬性在從第2天開始自動定時執行。
后續步驟
文檔內容是否對您有幫助?