如果您需要對存儲在PolarDB-X(原DRDS升級版)中的數據進行全文檢索和語義分析等操作,可借助阿里云Elasticsearch實現。通過DataWorks的數據集成服務,實現最快分鐘級,將海量PolarDB-X數據同步到阿里云ES中。
背景信息
DataWorks是一個基于大數據引擎,集成數據開發、任務調度、數據管理等功能的全鏈路大數據開發治理平臺,其數據集成服務可以實現最快5分鐘一次的離線數據采集。您可以通過DataWorks的離線同步任務,快速的將各種數據源中的數據離線同步到阿里云ES。
支持同步的數據源包括:
阿里云云數據庫(MySQL、PostgreSQL、SQL Server、MongoDB、HBase)
阿里云PolarDB-X(原DRDS升級版)
阿里云MaxCompute
阿里云OSS
阿里云Tablestore
自建HDFS、Oracle、FTP、DB2及以上數據庫類型的自建版本
適用場景:
大數據離線同步到阿里云ES的場景。
將某個表的全部數據同步到阿里云ES的場景。
前提條件
已創建PolarDB-X實例。具體操作,請參見快速入門。
已創建阿里云ES實例,并開啟實例的自動創建索引功能。具體操作,請參見創建阿里云Elasticsearch實例和配置YML參數。
已創建DataWorks工作空間。具體操作,請參見創建工作空間。
僅支持將數據同步到阿里云ES,不支持自建Elasticsearch。
PolarDB-X實例、ES實例和DataWorks工作空間所在地域需保持一致。
PolarDB-X實例、ES實例和DataWorks工作空間需要在同一時區下,否則同步與時間相關的數據時,同步前后的數據可能存在時區差。
費用說明
ES實例費用,請參見ES計費項。
獨享數據集成資源組費用,請參見獨享數據集成資源組計費說明:包年包月。
操作步驟
步驟一:準備源數據
在阿里云PolarDB-X 1.0實例中插入數據。
具體操作步驟請參見PolarDB-X快速入門。本文使用的測試數據如下。
步驟二:購買并創建獨享資源組
購買一個數據集成獨享資源組,并為該資源組綁定專有網絡和工作空間。獨享資源組可以保證數據快速、穩定地傳輸。
登錄DataWorks控制臺。
在頂部菜單欄選擇相應地域后,在左側導航欄單擊資源組列表。
在獨享資源組頁簽下,單擊創建集成資源組。
在DataWorks獨享資源購買頁面,獨享資源類型選擇獨享數據集成資源,輸入資源組名稱,單擊立即購買,購買獨享資源組。
更多配置信息,請參見購買資源組。
在已創建的獨享資源組的操作列,單擊網絡設置,為該獨享資源組綁定專有網絡。具體操作,請參見綁定專有網絡。
說明本文以獨享數據集成資源組通過VPC內網同步數據為例。關于通過公網同步數據,請參見使用獨享數據集成資源組執行任務需要在數據庫添加的IP白名單。
獨享資源需要與PolarDB-X實例和Elasticsearch實例的專有網絡連通才能同步數據,因此需要分別綁定PolarDB-X實例和Elasticsearch實例所在的專有網絡、可用區和交換機。查看實例所在專有網絡信息,請參見查看Elasticsearch實例的基本信息。
重要綁定專有網絡后,您需要將專有網絡的交換機網段加入到PolarDB-X、Elasticsearch實例的VPC私網訪問白名單中。具體操作,請參見配置Elastic search實例公網或私網訪問白名單。
在頁面左上角,單擊返回圖標,返回資源組列表頁面。
在已創建的獨享資源組的操作列,單擊修改歸屬工作空間,為該獨享資源組綁定目標工作空間。
具體操作,請參見綁定歸屬工作空間。
步驟三:添加數據源
將PolarDB-X和Elasticsearch數據源接入DataWorks的數據集成服務中。
進入DataWorks的數據集成頁面。
登錄DataWorks控制臺。
在左側導航欄,單擊工作空間列表。
在目標工作空間的操作列,選擇
。
在左側導航欄,單擊數據源。
新增PolarDB-X數據源。
在數據源列表頁面,單擊新增數據源。
在新增數據源頁面,搜索并選擇DRDS。
在新增DRDS數據源頁面,配置數據源信息并測試連通性。連通成功后,單擊完成。
更多信息,請參見配置DRDS數據源。
使用同樣的方式添加Elasticsearch數據源。配置詳情,請參見配置Elasticsearch數據源。
步驟四:配置并運行數據同步任務
數據離線同步任務將獨享資源組作為一個可以執行任務的資源,獨享資源組將獲取數據集成服務中數據源的數據,并將數據寫入Elasticsearch。
有兩種方式可以配置離線同步任務,文本以向導模式配置離線同步任務為例。您也可以通過腳本模式配置離線同步任務,詳情請參見通過腳本模式配置離線同步任務和Elasticsearch Writer。
進入DataWorks的數據開發頁面。
登錄DataWorks控制臺。
在左側導航欄,單擊工作空間列表。
在目標工作空間的操作列,選擇
。
新建一個離線同步任務。
在左側導航欄,選擇
,新建一個業務流程。右鍵單擊新建的業務流程,選擇
。在新建節點對話框中,輸入節點名稱,單擊確認。
配置網絡與資源
在數據來源區域,數據來源選擇DRDS,數據源名稱選擇待同步的數據源名稱。
在我的資源組區域,選擇獨享資源組。
在數據去向區域,數據去向選擇Elasticsearch,數據源名稱選擇待同步的數據源名稱。
單擊下一步。
配置任務。
在數據來源區域,選擇待同步的表。
在數據去向區域,配置數據去向的各參數。
在字段映射區域中,設置來源字段與目標字段的映射關系。具體配置,請參見通過向導模式配置離線同步任務。
本示例中,來源字段保持默認,僅修改目標字段。在目標字段右側,單擊圖標,在對話框中輸入如下字段配置。
{"name":"Name","type":"text"} {"name":"Platform","type":"text"} {"name":"Year_of_Release","type":"date"} {"name":"Genre","type":"text"} {"name":"Publisher","type":"text"} {"name":"na_Sales","type":"float"} {"name":"EU_Sales","type":"float"} {"name":"JP_Sales","type":"float"} {"name":"Other_Sales","type":"float"} {"name":"Global_Sales","type":"float"} {"name":"Critic_Score","type":"long"} {"name":"Critic_Count","type":"long"} {"name":"User_Score","type":"float"} {"name":"User_Count","type":"long"} {"name":"Developer","type":"text"} {"name":"Rating","type":"text"}
在通道控制區域,配置通道參數。
詳細配置信息,請參見通過向導模式配置離線同步任務。
運行任務。
(可選)配置任務調度屬性。在頁面右側,單擊調度配置,按照需求配置相應的調度參數。各配置的詳細說明請參見調度配置。
在節點區域的右上角,單擊保存圖標,保存任務。
在節點區域的右上角,單擊提交圖標,提交任務。
如果您配置了任務調度屬性,任務會定期自動執行。您還可以在節點區域的右上角,單擊運行圖標,立即運行任務。
運行日志中出現
Shell run successfully!
表明任務運行成功。
步驟五:查看數據同步結果
登錄目標阿里云ES實例的Kibana控制臺。
具體操作步驟請參見登錄Kibana控制臺。
在左側導航欄,單擊Dev Tools(開發工具)。
在Console(控制臺)中,執行如下命令,查詢目標端數據量。
說明您可以將目標端數據量與源端數據量進行對比,確認數據是否全部同步成功。
GET drdstest/_search { "query": { "match_all": {} } }
執行成功后,結果如下。
執行如下命令,對指定字段進行數據檢索。
GET drdstest/_search { "query": { "term": { "Publisher.keyword": { "value": "Nintendo" } } } }
執行成功后,返回如下結果。