GetInsight組件技術(shù)及功能(一):數(shù)據(jù)批量和實(shí)時(shí)同步
GetInsight是慧都自主研發(fā)、應(yīng)用最靈活的大數(shù)據(jù)平臺。能夠幫助您隨時(shí)找到您想要的數(shù)據(jù),使數(shù)據(jù)得到安全、穩(wěn)定和高效的管理與應(yīng)用。GetInsight是企業(yè)大數(shù)據(jù)解決方案的重要組成部分,除了提供完整的大數(shù)據(jù)功能組件,我們還提供組件自定義搭配,為企業(yè)選擇滿足方案需要的大數(shù)據(jù)功能組件,使您的大數(shù)據(jù)解決方案成本降到最低,從而高品質(zhì)的解決您的大數(shù)據(jù)需求問題。
了解什么是GetInsight,請點(diǎn)擊這里查看GetInsight的基礎(chǔ)介紹>>
本文主要跟大家介紹GetInsight的數(shù)據(jù)批量同步工具和數(shù)據(jù)實(shí)時(shí)同步工具。
數(shù)據(jù)批量同步工具
批量同步工具主要用于在大數(shù)據(jù)集群、數(shù)據(jù)倉庫與傳統(tǒng)的數(shù)據(jù)庫(mysql、postgresql...)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個關(guān)系型數(shù)據(jù)庫(例如 :mySQL,Oracle等)中的數(shù)據(jù)導(dǎo)進(jìn)到大數(shù)據(jù)存儲系統(tǒng)中,也可以將集群上的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫中。它可以高效、可控地利用資源,可以通過調(diào)整任務(wù)數(shù)來控制任務(wù)的并發(fā)度。另外它還可以配置數(shù)據(jù)庫的訪問時(shí)間等等。它可以自動的完成數(shù)據(jù)類型映射與轉(zhuǎn)換。我們往往導(dǎo)入的數(shù)據(jù)是有類型的,它可以自動根據(jù)元數(shù)據(jù)模型來判斷數(shù)據(jù)類型,把數(shù)據(jù)庫中的類型轉(zhuǎn)換到集群上或者數(shù)據(jù)倉庫中對應(yīng)類型,當(dāng)然用戶也可以自定義它們之間的映射關(guān)系。它支持多種數(shù)據(jù)庫,比如,Mysql、Oracle和PostgreSQL等等數(shù)據(jù)庫。對于某些NoSQL數(shù)據(jù)庫它也提供了連接器。
GetInsight數(shù)據(jù)批量同步工具的特性
批量同步工具具有如下特性:
- 操作簡單,有固定的寫入命令模式。
- 它支持多種數(shù)據(jù)庫,比如,Mysql、Oracle和PostgreSQL等等數(shù)據(jù)庫。
- 支持文本文件、avro、SequenceFiles。
- 它可以高效、可控地利用資源,可以通過調(diào)整任務(wù)數(shù)來控制任務(wù)的并發(fā)度。另外它還可以配置數(shù)據(jù)庫的訪問時(shí)間等等。
- 它可以自動的完成數(shù)據(jù)類型映射與轉(zhuǎn)換。我們往往導(dǎo)入的數(shù)據(jù)是有類型的,它可以自動根據(jù)數(shù)據(jù)庫中的類型轉(zhuǎn)換到分布式集群上的目標(biāo)存儲,當(dāng)然用戶也可以自定義它們之間的映射關(guān)系。
- 也可以根據(jù)增量字段值執(zhí)行增量同步。
- 可以創(chuàng)建為一個作業(yè),需要用到時(shí)調(diào)用執(zhí)行。
- 可以通過腳本設(shè)置定時(shí)任務(wù)。
- 自身帶有校驗(yàn)機(jī)制,保證數(shù)據(jù)完整性。
- 可以根據(jù)任務(wù)和硬件情況指定并行度。
- 可以指定的導(dǎo)入特定的列。
- 可以導(dǎo)入自定義的簡單的sql語句查詢結(jié)果,不支持復(fù)雜的語句。
- 可以從關(guān)系數(shù)據(jù)庫導(dǎo)入到集群,也可以從集群導(dǎo)出到關(guān)系數(shù)據(jù)庫。
- 支持增量的批量導(dǎo)入。
GetInsight數(shù)據(jù)批量同步工具的功能
- 關(guān)系數(shù)據(jù)庫的數(shù)據(jù)批量同步導(dǎo)入到大數(shù)據(jù)集群(分布式存儲系統(tǒng)、分布式數(shù)據(jù)庫、數(shù)據(jù)倉庫等)。
- 通過批量同步工具,可以從關(guān)系型數(shù)據(jù)庫中導(dǎo)出數(shù)據(jù),導(dǎo)入到分布式存儲系統(tǒng)中。輸入是數(shù)據(jù)庫的一張表或者查詢結(jié)果;輸出則是數(shù)據(jù)庫表或者結(jié)果的導(dǎo)出文件集合。導(dǎo)入進(jìn)程是并行的,因此輸出的結(jié)果可能是多個文件(最終在集群中可能會得到多個文件)。這些文件可能是標(biāo)準(zhǔn)的文本文件TextFile(比如,使用逗號做字段間的分割),也可能是Avro或者SequeenceFiles的記錄文件。
- 大數(shù)據(jù)集群(分布式存儲系統(tǒng)、分布式數(shù)據(jù)庫、數(shù)據(jù)倉庫等)的數(shù)據(jù)批量同步導(dǎo)出到關(guān)系數(shù)據(jù)庫。
- 通過批量同步工具,還可以實(shí)現(xiàn)從大數(shù)據(jù)平臺存儲系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)以及數(shù)據(jù)倉庫系統(tǒng)把數(shù)據(jù)導(dǎo)出到關(guān)系數(shù)據(jù)庫中,如果是導(dǎo)出存儲系統(tǒng)中的文件,則需要指明字段的分割符。
GetInsight數(shù)據(jù)批量同步工具的應(yīng)用場景
在遇到需要進(jìn)行大規(guī)模的復(fù)雜的數(shù)據(jù)分析或者其他情況需要把關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)拷貝或者移植到大數(shù)據(jù)的分布式平臺上的時(shí)候,批量同步工具就非常適合實(shí)現(xiàn)大規(guī)模的從結(jié)構(gòu)化數(shù)據(jù)庫中數(shù)據(jù)批量導(dǎo)入到分布式文件系統(tǒng)或分布式數(shù)據(jù)庫或者數(shù)據(jù)倉庫中。做大規(guī)模數(shù)據(jù)分析以及數(shù)據(jù)處理等的前期數(shù)據(jù)轉(zhuǎn)移,把單機(jī)上的數(shù)據(jù)批量快速的轉(zhuǎn)移到分布式集群上。可以滿足增量的同步導(dǎo)入,還可以創(chuàng)建一些執(zhí)行計(jì)劃,通過linux的定時(shí)調(diào)度機(jī)制定期的執(zhí)行一些特定的導(dǎo)入操作,也可以使用任務(wù)調(diào)度工具進(jìn)行批量同步任務(wù)的創(chuàng)建和統(tǒng)一管理。
也可以滿足從大數(shù)據(jù)集群上把數(shù)據(jù)導(dǎo)出到結(jié)構(gòu)化數(shù)據(jù)庫中,比如一些集群上的數(shù)據(jù)處理結(jié)果,數(shù)據(jù)倉庫的一些特定的表等,多數(shù)是在對分布式平臺上或者數(shù)據(jù)倉庫里面的數(shù)據(jù)分析之后產(chǎn)生的結(jié)果數(shù)據(jù)。需要導(dǎo)出到關(guān)系數(shù)據(jù)庫中,然后提供前端展示。
所以,批量同步工具就是為了實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(包括mysql,oracle等)與大數(shù)據(jù)平臺(包括分布式存儲系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)以及數(shù)據(jù)倉庫系統(tǒng)等)之間的相互數(shù)據(jù)傳遞。
數(shù)據(jù)實(shí)時(shí)同步工具
實(shí)時(shí)數(shù)據(jù)采集工具是一個從可以收集例如日志,事件等數(shù)據(jù)資源,并將這些數(shù)量龐大的數(shù)據(jù)從各項(xiàng)數(shù)據(jù)資源中集中起來存儲的工具/服務(wù)。實(shí)時(shí)數(shù)據(jù)采集工具具有高可用,分布式,配置化的能力,其設(shè)計(jì)的原理也是基于將數(shù)據(jù)流,如日志數(shù)據(jù)從各種網(wǎng)站服務(wù)器上匯集起來存儲到大數(shù)據(jù)平臺(包括分布式存儲系統(tǒng)、分布式數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)倉庫系統(tǒng)等)。它能夠?qū)⒉煌瑪?shù)據(jù)源的海量日志數(shù)據(jù)進(jìn)行高效收集、聚合、移動、最后存儲到一個中心化數(shù)據(jù)存儲系統(tǒng)中。實(shí)時(shí)數(shù)據(jù)采集工具是一個輕量級的小工具,適應(yīng)各種方式的日志收集,并支持故障切換和負(fù)載均衡。
實(shí)時(shí)數(shù)據(jù)采集工具的數(shù)據(jù)流由事件(Event)貫穿始終。事件是Flume的基本數(shù)據(jù)單位,它攜帶日志數(shù)據(jù)(字節(jié)數(shù)組形式)并且攜帶有頭信息,這些Event由Agent外部的Source生成,當(dāng)Source捕獲事件后會進(jìn)行特定的格式化,然后Source會把事件推入(單個或多個)Channel中。你可以把Channel看作是一個緩沖區(qū),它將保存事件直到Sink處理完該事件。Sink負(fù)責(zé)持久化日志或者把事件推向另一個Source。
GetInsight數(shù)據(jù)實(shí)時(shí)同步工具的特性
實(shí)時(shí)數(shù)據(jù)采集工具具有以下特性:
- 實(shí)時(shí)數(shù)據(jù)采集工具可以將應(yīng)用產(chǎn)生的數(shù)據(jù)存儲到任何集中存儲器中,比如分布式文件系統(tǒng),分布式數(shù)據(jù)庫,數(shù)據(jù)倉庫等。
- 當(dāng)收集數(shù)據(jù)的速度超過將寫入數(shù)據(jù)的時(shí)候,也就是當(dāng)收集信息遇到峰值時(shí),這時(shí)候收集的信息非常大,甚至超過了系統(tǒng)的寫入數(shù)據(jù)能力,這時(shí)候,實(shí)時(shí)數(shù)據(jù)采集工具會在數(shù)據(jù)生產(chǎn)者和數(shù)據(jù)收容器間做出調(diào)整,保證其能夠在兩者之間提供一共平穩(wěn)的數(shù)據(jù)。
- 實(shí)時(shí)數(shù)據(jù)采集工具的管道是基于事務(wù),保證了數(shù)據(jù)在傳送和接收時(shí)的一致性。
- 實(shí)時(shí)數(shù)據(jù)采集工具是可靠的,容錯性高的,可升級的,易管理的,并且可定制的。
- 采用sql輪詢方式,具有通用性,支持多種數(shù)據(jù)源。
- 實(shí)時(shí)性,實(shí)時(shí)數(shù)據(jù)采集工具還有一個特點(diǎn)就是可以實(shí)時(shí)的將分析數(shù)據(jù)并將數(shù)據(jù)保存在數(shù)據(jù)庫或者其他系統(tǒng)中。
- 提供多種數(shù)據(jù)源接口,包括tcp,http,avro,文件,sql等等。
- 配置簡單;快速部署;簡化編程;具有通用性,適用于各種關(guān)系庫數(shù)據(jù)源。
- 在源庫查詢,具有入侵性。
- 只能識別新數(shù)據(jù),不能檢測刪除與更新。
- 要求源庫必須有用于表示增量的字段。
- 通過輪詢的方式實(shí)現(xiàn)增量,只能做到準(zhǔn)實(shí)時(shí),而且輪詢間隔越短,對源庫的影響越大。
GetInsight數(shù)據(jù)實(shí)時(shí)同步工具的功能
- 監(jiān)控日志信息,把采集到的日志信息保存到分布式存儲環(huán)境或者存入數(shù)據(jù)庫或者數(shù)據(jù)倉庫。可以把目標(biāo)端配置為分布式消息系統(tǒng),結(jié)合使用消息中間件做緩沖,再通過流處理框架處理,寫入到分布式文件系統(tǒng)或者是數(shù)據(jù)倉庫或者是關(guān)系數(shù)據(jù)庫等。
- 通過JDBC連接關(guān)系數(shù)據(jù)庫,通過輪詢的機(jī)制實(shí)現(xiàn)對數(shù)據(jù)庫新增數(shù)據(jù)的實(shí)時(shí)監(jiān)控,把監(jiān)控到的數(shù)據(jù)可以發(fā)送到多種、目標(biāo)端,包括分布式文件系統(tǒng),關(guān)系數(shù)據(jù)庫和分布式數(shù)據(jù)庫,消息系統(tǒng)等。實(shí)時(shí)數(shù)據(jù)采集工具默認(rèn)提供了一些常用的連接不同類型目標(biāo)端的接口,也可以根據(jù)業(yè)務(wù)需求自定義擴(kuò)展。
- 可以結(jié)合分布式消息系統(tǒng),把實(shí)時(shí)采集的數(shù)據(jù)發(fā)送到分布式消息系統(tǒng)中,再讓的流處理框架對數(shù)據(jù)進(jìn)行處理分析。
GetInsight數(shù)據(jù)實(shí)時(shí)同步工具的應(yīng)用場景
- 海量日志、監(jiān)控?cái)?shù)據(jù)實(shí)時(shí)采集,把采集的海量信息存儲到分布式文件系統(tǒng)或者數(shù)據(jù)倉庫中。
- 關(guān)系數(shù)據(jù)庫新增數(shù)據(jù)實(shí)時(shí)采集,可以實(shí)時(shí)監(jiān)控關(guān)系數(shù)據(jù)庫的數(shù)據(jù)新增情況。然后寫入到channel中,根據(jù)sink配置情況,可以寫入另一個關(guān)系數(shù)據(jù)庫,也可以直接存到分布式文件系統(tǒng)和數(shù)據(jù)倉庫中。
- 監(jiān)控某端口的實(shí)時(shí)數(shù)據(jù)信息,即只要應(yīng)用程序向這個端口里面寫數(shù)據(jù),這個source組件就可以獲取到信息。然后通過配置的sink,把信息送到目標(biāo)端
- 監(jiān)控消息系統(tǒng)或者消息隊(duì)列的實(shí)時(shí)數(shù)據(jù)。
- 監(jiān)聽一個指定的目錄,即只要應(yīng)用程序向這個指定的目錄中添加新的文件,source組件就可以獲取到該信息,并解析該文件的內(nèi)容,然后寫入到channel。
- 接收json格式數(shù)據(jù)。
- 監(jiān)聽http服務(wù)數(shù)據(jù)。
慧都工業(yè)大數(shù)據(jù)分析方案即將精益生產(chǎn)理論體系進(jìn)行了完美的融合和應(yīng)用,并對大數(shù)據(jù)總體架構(gòu)進(jìn)行了更細(xì)致明確的解讀,提供自主研發(fā)的大數(shù)據(jù)平臺,實(shí)現(xiàn)ETL、數(shù)據(jù)管理及存儲、數(shù)據(jù)建模。如下圖所示:
關(guān)于慧都大數(shù)據(jù)分析平臺
慧都大數(shù)據(jù)分析平臺「GetInsight®」升級發(fā)布,將基于企業(yè)管理駕駛艙、產(chǎn)品質(zhì)量分析及預(yù)測、設(shè)備分析及預(yù)測等大數(shù)據(jù)模型的構(gòu)建,助力企業(yè)由傳統(tǒng)運(yùn)營模式向數(shù)字化、智能化的新模式轉(zhuǎn)型升級,抓住數(shù)據(jù)經(jīng)濟(jì)的發(fā)展勢頭,提供管理效能,精準(zhǔn)布局未來。了解更多,請聯(lián)系。
慧都大數(shù)據(jù)專業(yè)團(tuán)隊(duì)為企業(yè)提供商業(yè)智能大數(shù)據(jù)平臺搭建,免費(fèi)業(yè)務(wù)咨詢,定制開發(fā)等完整服務(wù),快速、輕松、低成本將任何Hadoop集群從試用階段轉(zhuǎn)移到生產(chǎn)階段。
歡迎撥打慧都熱線023-68661681或咨詢慧都在線客服,我們有專業(yè)的大數(shù)據(jù)團(tuán)隊(duì),為您提供免費(fèi)大數(shù)據(jù)相關(guān)業(yè)務(wù)咨詢!