通過(guò)DataWorks將RDS SQL Server數(shù)據(jù)同步到阿里云ES
如果您需要對(duì)RDS SQL Server中的數(shù)據(jù)進(jìn)行搜索和分析,可借助阿里云Elasticsearch實(shí)現(xiàn)。本文介紹通過(guò)DataWorks的數(shù)據(jù)集成服務(wù),快速將數(shù)據(jù)離線同步到阿里云ES中。
背景信息
DataWorks是一個(gè)基于大數(shù)據(jù)引擎,集成數(shù)據(jù)開發(fā)、任務(wù)調(diào)度、數(shù)據(jù)管理等功能的全鏈路大數(shù)據(jù)開發(fā)治理平臺(tái)。您可以通過(guò)DataWorks的同步任務(wù),快速的將各種數(shù)據(jù)源中的數(shù)據(jù)同步到阿里云ES。
支持同步的數(shù)據(jù)源包括:
阿里云云數(shù)據(jù)庫(kù)(MySQL、PostgreSQL、SQL Server、MongoDB、HBase)
阿里云PolarDB-X(原DRDS升級(jí)版)
阿里云MaxCompute
阿里云OSS
阿里云Tablestore
自建HDFS、Oracle、FTP、DB2及以上數(shù)據(jù)庫(kù)類型的自建版本
適用場(chǎng)景:
大數(shù)據(jù)離線同步到阿里云ES的場(chǎng)景,支持同步整個(gè)庫(kù)或同步某個(gè)表中的全部數(shù)據(jù)。更多信息,請(qǐng)參見(jiàn)整庫(kù)離線同步至Elasticsearch。
大數(shù)據(jù)在線實(shí)時(shí)同步到阿里云ES的場(chǎng)景,支持全量、增量一體化同步。更多信息,請(qǐng)參見(jiàn)一鍵實(shí)時(shí)同步至Elasticsearch。
前提條件
已創(chuàng)建RDS SQL Server實(shí)例。本文以創(chuàng)建2019標(biāo)準(zhǔn)版RDS SQL Server實(shí)例為例,具體操作請(qǐng)參見(jiàn)快速創(chuàng)建并使用RDS SQL Server實(shí)例。
已創(chuàng)建阿里云ES實(shí)例,并開啟實(shí)例的自動(dòng)創(chuàng)建索引功能。具體操作,請(qǐng)參見(jiàn)創(chuàng)建阿里云Elasticsearch實(shí)例和配置YML參數(shù)。
已創(chuàng)建DataWorks工作空間。具體操作,請(qǐng)參見(jiàn)創(chuàng)建工作空間。
僅支持將數(shù)據(jù)同步到阿里云ES,不支持自建Elasticsearch。
RDS SQL Server實(shí)例、ES實(shí)例和DataWorks工作空間所在地域需保持一致。
RDS SQL Server實(shí)例、ES實(shí)例和DataWorks工作空間需要在同一時(shí)區(qū)下,否則同步與時(shí)間相關(guān)的數(shù)據(jù)時(shí),同步前后的數(shù)據(jù)可能存在時(shí)區(qū)差。
費(fèi)用說(shuō)明
ES實(shí)例費(fèi)用,請(qǐng)參見(jiàn)ES計(jì)費(fèi)項(xiàng)。
獨(dú)享數(shù)據(jù)集成資源組費(fèi)用,請(qǐng)參見(jiàn)獨(dú)享數(shù)據(jù)集成資源組計(jì)費(fèi)說(shuō)明:包年包月。
操作步驟
步驟一:準(zhǔn)備源數(shù)據(jù)
RDS SQL Server實(shí)例中使用的測(cè)試數(shù)據(jù)如下。
本文數(shù)據(jù)僅供測(cè)試,不能用于生產(chǎn)環(huán)境。
建表語(yǔ)句
CREATE TABLE students( id INT, name VARCHAR(20), age INT )
插入數(shù)據(jù)
INSERT INTO [students]( [id] , [name] , [age] )values('1', '小明','21');
步驟二:購(gòu)買并配置獨(dú)享資源組
購(gòu)買一個(gè)數(shù)據(jù)集成獨(dú)享資源組,并為該資源組綁定專有網(wǎng)絡(luò)和工作空間。獨(dú)享資源組可以保障數(shù)據(jù)快速、穩(wěn)定地傳輸。
在頂部菜單欄選擇相應(yīng)地域后,在左側(cè)導(dǎo)航欄單擊資源組。
在獨(dú)享資源組頁(yè)簽下,單擊創(chuàng)建舊版集成資源組。
在DataWorks獨(dú)享資源購(gòu)買頁(yè)面,獨(dú)享資源類型選擇獨(dú)享數(shù)據(jù)集成資源,輸入資源組名稱,單擊立即購(gòu)買,購(gòu)買獨(dú)享資源組。
更多配置信息,請(qǐng)參見(jiàn)購(gòu)買資源組。
在已創(chuàng)建的獨(dú)享資源組的操作列,單擊網(wǎng)絡(luò)設(shè)置,為該獨(dú)享資源組綁定專有網(wǎng)絡(luò)。具體操作,請(qǐng)參見(jiàn)綁定專有網(wǎng)絡(luò)。
說(shuō)明本文以獨(dú)享數(shù)據(jù)集成資源組通過(guò)VPC內(nèi)網(wǎng)同步數(shù)據(jù)為例。更多信息,請(qǐng)參見(jiàn)添加白名單。
獨(dú)享資源需要與RDS SQL Server實(shí)例和Elasticsearch實(shí)例的專有網(wǎng)絡(luò)連通才能同步數(shù)據(jù),因此需要分別綁定RDS SQL Server實(shí)例和Elasticsearch實(shí)例所在的專有網(wǎng)絡(luò)、可用區(qū)和交換機(jī)。查看實(shí)例所在專有網(wǎng)絡(luò)信息,請(qǐng)參見(jiàn)切換RDS SQL Server虛擬交換機(jī)和查看Elasticsearch實(shí)例的基本信息。
重要綁定專有網(wǎng)絡(luò)后,您需要將對(duì)應(yīng)專有網(wǎng)絡(luò)的交換機(jī)網(wǎng)段加入到RDS SQL Server、Elasticsearch實(shí)例的私網(wǎng)白名單中。具體操作,請(qǐng)參見(jiàn)設(shè)置RDS SQL Server白名單和配置Elastic search實(shí)例公網(wǎng)或私網(wǎng)訪問(wèn)白名單。
在頁(yè)面左上角,單擊返回圖標(biāo),返回資源組列表頁(yè)面,
在已創(chuàng)建的獨(dú)享資源組的操作列,單擊綁定工作空間,為該獨(dú)享資源組綁定目標(biāo)工作空間。
具體操作,請(qǐng)參見(jiàn)綁定歸屬工作空間。
步驟三:添加數(shù)據(jù)源
將RDS SQL Server和Elasticsearch數(shù)據(jù)源接入DataWorks的數(shù)據(jù)集成服務(wù)中。
進(jìn)入DataWorks的數(shù)據(jù)集成頁(yè)面。
在左側(cè)導(dǎo)航欄,單擊工作空間。
在目標(biāo)工作空間的操作列,選擇
。
在左側(cè)導(dǎo)航欄,單擊數(shù)據(jù)源。
新增RDS SQL Server數(shù)據(jù)源。
在數(shù)據(jù)源列表頁(yè)面,單擊新增數(shù)據(jù)源。
在新增數(shù)據(jù)源頁(yè)面,搜索并選擇SQL Server數(shù)據(jù)源。
在新增SQL Server數(shù)據(jù)源對(duì)話框,在基礎(chǔ)信息區(qū)域配置數(shù)據(jù)源參數(shù)。
配置詳情,請(qǐng)參見(jiàn)配置SQLServer數(shù)據(jù)源。
在連接配置區(qū)域,單擊測(cè)試連通性,連通狀態(tài)顯示為可連通時(shí),表示連通成功。
單擊完成。
使用同樣的方式添加Elasticsearch數(shù)據(jù)源。配置詳情,請(qǐng)參見(jiàn)配置Elasticsearch數(shù)據(jù)源。
步驟四:配置并運(yùn)行數(shù)據(jù)離線同步任務(wù)
數(shù)據(jù)離線同步任務(wù)將獨(dú)享資源組作為一個(gè)可以執(zhí)行任務(wù)的資源,獨(dú)享資源組將獲取數(shù)據(jù)集成服務(wù)中數(shù)據(jù)源的數(shù)據(jù),并將數(shù)據(jù)寫入Elasticsearch。
有兩種方式可以配置離線同步任務(wù),文本以向?qū)J脚渲秒x線同步任務(wù)為例。您也可以通過(guò)腳本模式配置離線同步任務(wù),詳情請(qǐng)參見(jiàn)通過(guò)腳本模式配置離線同步任務(wù)和Elasticsearch Writer。
進(jìn)入DataWorks的數(shù)據(jù)開發(fā)頁(yè)面。
在左側(cè)導(dǎo)航欄,單擊工作空間。
在目標(biāo)工作空間的操作列,選擇
。
新建一個(gè)離線同步任務(wù)。
在左側(cè)導(dǎo)航欄,單擊圖標(biāo),選擇
,新建一個(gè)業(yè)務(wù)流程。右鍵單擊新建的業(yè)務(wù)流程,選擇
。在新建節(jié)點(diǎn)對(duì)話框中,輸入節(jié)點(diǎn)名稱,單擊確認(rèn)。
配置網(wǎng)絡(luò)與資源
在數(shù)據(jù)來(lái)源區(qū)域,數(shù)據(jù)來(lái)源選擇SQL Server,數(shù)據(jù)源名稱選擇待同步的數(shù)據(jù)源名稱。
在我的資源組區(qū)域,選擇獨(dú)享資源組。
在數(shù)據(jù)去向區(qū)域,數(shù)據(jù)去向選擇Elasticsearch,數(shù)據(jù)源名稱選擇待同步的數(shù)據(jù)源名稱。
單擊下一步。
配置任務(wù)。
在數(shù)據(jù)來(lái)源區(qū)域,選擇待同步的表。
在數(shù)據(jù)去向區(qū)域,配置數(shù)據(jù)去向的各參數(shù)。
在字段映射區(qū)域中,設(shè)置來(lái)源字段與目標(biāo)字段的映射關(guān)系。具體配置,請(qǐng)參見(jiàn)通過(guò)向?qū)J脚渲秒x線同步任務(wù)。
在通道控制區(qū)域,配置通道參數(shù)。
詳細(xì)配置信息,請(qǐng)參見(jiàn)通過(guò)向?qū)J脚渲秒x線同步任務(wù)。
運(yùn)行任務(wù)。
(可選)配置任務(wù)調(diào)度屬性。在頁(yè)面右側(cè),單擊調(diào)度配置,按照需求配置相應(yīng)的調(diào)度參數(shù)。各配置的詳細(xì)說(shuō)明請(qǐng)參見(jiàn)調(diào)度配置。
在節(jié)點(diǎn)區(qū)域的右上角,單擊保存圖標(biāo),保存任務(wù)。
在節(jié)點(diǎn)區(qū)域的右上角,單擊提交圖標(biāo),提交任務(wù)。
如果您配置了任務(wù)調(diào)度屬性,任務(wù)會(huì)定期自動(dòng)執(zhí)行。您還可以在節(jié)點(diǎn)區(qū)域的右上角,單擊運(yùn)行圖標(biāo),立即運(yùn)行任務(wù)。
運(yùn)行日志中出現(xiàn)
Shell run successfully!
表明任務(wù)運(yùn)行成功。
步驟五:驗(yàn)證數(shù)據(jù)同步結(jié)果
登錄目標(biāo)阿里云Elasticsearch實(shí)例的Kibana控制臺(tái)。具體操作,請(qǐng)參見(jiàn)登錄Kibana控制臺(tái)。
單擊Kibana頁(yè)面左上角的圖標(biāo),選擇Dev Tools(開發(fā)工具)。
在Console(控制臺(tái))中,執(zhí)行如下命令查看同步的數(shù)據(jù)。
POST /dbo.students/_search?pretty { "query": { "match_all": {}} }
說(shuō)明dbo.students需要替換為您在配置DataWorks數(shù)據(jù)同步時(shí)設(shè)置的index字段的值。
預(yù)期結(jié)果如下。