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