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