欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

大數(shù)據(jù)開發(fā)平臺如何進行數(shù)據(jù)同步服務(wù)

林國瑞2年前49瀏覽0評論
大數(shù)據(jù)開發(fā)平臺如何進行數(shù)據(jù)同步服務(wù)?

數(shù)據(jù)同步是大數(shù)據(jù)平臺搭建中非常重要的基礎(chǔ)環(huán)節(jié),大數(shù)據(jù)平臺之所以有優(yōu)勢,就是必須要具有對實時或準實時更新的增量數(shù)據(jù)連同存量數(shù)據(jù)具有在線分析能力,數(shù)據(jù)同步方案制訂要考慮很多因素,從外網(wǎng)到內(nèi)網(wǎng)由于要通過網(wǎng)閘,是很難做到實時同步的,內(nèi)網(wǎng)間的業(yè)務(wù)系統(tǒng)要盡可能做到和大數(shù)據(jù)平臺之間是增量同步。同步還要考慮到源業(yè)務(wù)系統(tǒng)是否需要進行數(shù)據(jù)接口改造,最好是對源業(yè)務(wù)系統(tǒng)是無侵入式的。我根據(jù)這些年的實踐經(jīng)驗,推薦下面幾種常用的同步的方案和工具。

文末的圖表示了數(shù)據(jù)同步工具在國土大數(shù)據(jù)平臺中的重要地位

數(shù)據(jù)同步可以用以下工具實現(xiàn):

1、Sqoop

Apache Sqoop 是一種工具,用于在 Apache Hadoop 和外部數(shù)據(jù)存儲(如關(guān)系數(shù)據(jù)庫,企業(yè)數(shù)據(jù)倉庫)之間高效傳輸批量數(shù)據(jù)。Sqoop 用于將數(shù)據(jù)從外部數(shù)據(jù)存儲導入 Hadoop Hdfs 或 Hive 和 HBase 等相關(guān) Hadoop 生態(tài)系統(tǒng)。同樣,Sqoop 還可用于從 Hadoop 或其生態(tài)系統(tǒng)中提取數(shù)據(jù),并將其導出到外部數(shù)據(jù)存儲區(qū),如關(guān)系數(shù)據(jù)庫、數(shù)據(jù)倉庫。Sqoop 適用于 Oracle,MySQL,Postgres 等關(guān)系數(shù)據(jù)庫。

2、Datax

DataX 是阿里開發(fā)的一個異構(gòu)數(shù)據(jù)源離線同步工具,致力于實現(xiàn)包括關(guān)系型數(shù)據(jù)庫(MySQL、Oracle 等)、HDFS、Hive、ODPS、HBase、FTP 等各種異構(gòu)數(shù)據(jù)源之間穩(wěn)定高效的數(shù)據(jù)同步功能。DataX 本身作為離線數(shù)據(jù)同步框架,采用 Framework + plugin 架構(gòu)構(gòu)建。將數(shù)據(jù)源讀取和寫入抽象成為 Reader/Writer 插件,納入到整個同步框架中。

kettle

3.Kettle 是一款開源的 ETL 工具,實現(xiàn)對各種數(shù)據(jù)源讀取,操作和寫入數(shù)據(jù),Kettle 無需安裝解壓即可使用,可通過客戶端進行配置和執(zhí)行作業(yè)。Kettle 中有兩種腳本文件,transformation 和 job,transformation 完成針對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job 則完成整個工作流的控制。

4.HVR

HVR是基于日志的邏輯復制軟件,可實時捕獲源端數(shù)據(jù)庫日志的增量變化,并將數(shù)據(jù)變化實時地傳輸?shù)侥繕硕耍谀繕硕藬?shù)據(jù)庫應(yīng)用這些數(shù)據(jù)變化,從而保持目標端數(shù)據(jù)庫和源端數(shù)據(jù)庫的一致性。由于捕獲的僅為增量數(shù)據(jù),同時在傳輸過程中配置了數(shù)據(jù)壓縮功能,減少網(wǎng)絡(luò)帶寬的占用,可以將遠端的數(shù)據(jù)同步時差控制到最低。基于事務(wù)日志的數(shù)據(jù)變更,能夠最低限度的減少對源庫的性能影響。

小結(jié)

那我們該如何選擇合適同步的工具。大數(shù)據(jù)平臺是與 Hadoop 集群相掛鉤,在離線同步一般選擇 Sqoop,Sqoop 從一開始就是為大數(shù)據(jù)平臺的數(shù)據(jù)采集業(yè)務(wù)服務(wù),而且作為 Apache 頂級的項目,Sqoop 比起 Datax 更加可靠,如果涉及阿里自身的數(shù)據(jù)庫系列選擇 Datax 是一個不錯的選擇。在實時同步數(shù)據(jù),一般采用 Kafka 作為中間組件,跟 Canal 結(jié)合實現(xiàn) MySQL 到 Hive 增量數(shù)據(jù)同步。kettle 和 Informatica PowerCenter 一般在建設(shè)數(shù)倉中使用,通過客戶端配置 ETL 任務(wù)定制。如果是要求是不侵入源業(yè)務(wù)系統(tǒng),則可以考慮使用HVR工具。