通過數(shù)據(jù)集成導(dǎo)入數(shù)據(jù)至Elasticsearch
本文為您介紹如何通過數(shù)據(jù)集成導(dǎo)入離線Elasticsearch數(shù)據(jù)。
前提條件
準備阿里云賬號,并創(chuàng)建賬號的訪問密鑰。詳情請參見開通DataWorks服務(wù)。
開通MaxCompute,自動產(chǎn)生一個默認的MaxCompute數(shù)據(jù)源,并使用主賬號登錄DataWorks。
創(chuàng)建工作空間,您可以在工作空間中協(xié)作完成業(yè)務(wù)流程,共同維護數(shù)據(jù)和任務(wù)等。詳情請參見創(chuàng)建工作空間。
說明如果您需要通過子賬號創(chuàng)建數(shù)據(jù)集成任務(wù),請賦予其相應(yīng)的權(quán)限。詳情請參見創(chuàng)建RAM用戶和空間級模塊權(quán)限管控。
準備好相關(guān)的數(shù)據(jù)源,詳情請參見數(shù)據(jù)源配置。
新建離線同步節(jié)點
登錄DataWorks控制臺。
在左側(cè)導(dǎo)航欄,單擊工作空間列表。
選擇工作空間所在地域后,單擊相應(yīng)工作空間后的 。
展開目標業(yè)務(wù)流程,右鍵單擊數(shù)據(jù)集成,選擇
在新建節(jié)點對話框中,輸入名稱并選擇路徑。
說明節(jié)點名稱的長度不能超過128個字符。
此處的路徑為創(chuàng)建的業(yè)務(wù)流程,具體操作請參見創(chuàng)建周期業(yè)務(wù)流程。
單擊確認。
配置離線同步節(jié)點
成功創(chuàng)建離線同步節(jié)點后,單擊工具欄中的轉(zhuǎn)換腳本。
單擊提示對話框中的確認,即可進入腳本模式進行開發(fā)。
參照下文的腳本模板,根據(jù)自身需求進行配置。
{ "configuration": { "setting": { "speed": { "concurrent": "1", //作業(yè)并發(fā)數(shù)。 "mbps": "1" //作業(yè)速率上限,此處1mbps = 1MB/s。 } }, "reader": { "parameter": { "connection": [ { "table": [ "es_table" //源端表名。 ], "datasource": "px_mysql_OK" //數(shù)據(jù)源名,建議和添加的數(shù)據(jù)源名保持一致。 } ], "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, //是否在每次導(dǎo)入數(shù)據(jù)到Elasticsearch時清空原有數(shù)據(jù),全量導(dǎo)入或重建索引時,需要設(shè)置為true,同步增量時必須為false。 "accessKey": "nimda", //如果使用了X-PACK插件,需要填寫password;如果未使用,則填空字符串即可。阿里云Elasticsearch使用了X-PACK插件,需要填寫password。 "index": "datax_test", // Elasticsearch的索引名稱,如果之前沒有,插件會自動創(chuàng)建。 "alias": "test-1-alias", //數(shù)據(jù)導(dǎo)入完成后寫入別名。 "settings": { "index": { "number_of_replicas": 0, "number_of_shards": 1 } }, "batchSize": 1000, //每次批量數(shù)據(jù)的條數(shù)。 "accessId": "default", //如果使用了X-PACK插件,需要填寫username;如果未使用,則填空字符串即可。阿里云Elasticsearch使用了X-PACK插件,需要填寫username。 "endpoint": "http://xxx.xxxx.xxx:xxxx", //Elasticsearch的連接地址,可以在控制臺查看。 "splitter": ",", //如果插入數(shù)據(jù)是array,則使用指定分隔符。 "indexType": "default", //Elasticsearch中相應(yīng)索引下的類型名稱。 "aliasMode": "append", //數(shù)據(jù)導(dǎo)入完成后增加別名的模式,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//是否自動發(fā)現(xiàn),設(shè)置為true。 }, "plugin": "elasticsearch"http://Writer插件的名稱:Elasticsearch Writer,無需修改。 } }, "type": "job", "version": "1.0" }
單擊圖標后,再單擊圖標。
說明Elasticsearch僅支持以腳本模式導(dǎo)入數(shù)據(jù)。
保存同步任務(wù)后,直接單擊圖標,任務(wù)會立刻運行。
您也可以單擊圖標,提交同步任務(wù)至調(diào)度系統(tǒng)中,調(diào)度系統(tǒng)會按照配置屬性在從第2天開始自動定時執(zhí)行。
后續(xù)步驟
如果您需要使用其它類型的數(shù)據(jù)源配置同步任務(wù),請參見配置Reader和配置Writer模塊的文檔。