大數據上雲那些事兒:(一)上雲工具的選擇
阿裏雲•數加上如果要實現大數據上雲,可選的工具有以下幾種(如下圖所示),主要分為批量加載工具和實時采集工具兩大類。工具這麼多,那麼我應該選擇哪一個呢?
首先第一就是確定您的業務場景對實時性的要求。
a) 如果是實時性要求不高,則采用批量加載類工具,定時完成批量數據加載即可。比如離線數倉,離線BI數據分析等場景。
b) 如果對實時性要求很高,數據一產生就需要即時看到分析結果,則采用實時采集類工具。如實時監控,實時分析,實時大屏等場景。
不過也有例外,在某些離線場景下有時候也會采用實時采集工具來完成數據上雲。比如每天都有海量數據(可能TB級別甚至更多)需要同步,批量定時同步的話同步時間過長,無法滿足業務要求,此時可以考慮采用實時采集工具來完成數據上雲,以滿足對同步時間的要求。
離線工具適用場景說明:
數據集成(DI)是數加提供的官方同步工具,分為界麵向導模式和腳本模式兩種開發模式。如果您是離線數據加工場景,那麼優先推薦選擇它。它可以完成阿裏雲雲上數據到MaxCompute的大部分離線場景。比如常見的:
a) 從RDS/DRDS同步到MaxCompute
b) 從ECS(自建MySQL/Oracle等)同步到MaxCompute
c) 從ECS(文件)同步到MaxCompute
d) 從OSS/OTS等阿裏雲產品同步到MaxComdpute
e) 數據在IDC機房,並且企業已經搭建阿裏雲物理專線連接,此時可以通過數據集成(DI)自定義調度資源的方式完成數據上雲。
注:以上均為舉例,不一定覆蓋所有情況,DI支持的數據源請參考:https://help.aliyun.com/document_detail/53008.htmlDataX(開源)阿裏開源的離線數據同步工具,可以理解它是數據集成(DI)的單機版實現,它與數據集成(DI)所支持的數據源是基本相同的。但有些時候因為網絡、安全或者自定義需求等情況,無法用數據集成(DI)來完成企業的需求,此時可以考慮使用DataX來完成。比如:
a) 數據在本地IDC機房,IDC的機器無法添加為數據集成(DI)的執行Agent
b) 企業期望對同步任務資源占用有完全的控製權(包括但不限於內存占用量、完全掌控同步流控等);
c) 企業具有一定的係統運維能力,期待腳本化、定製化的數據上雲策略。比如本地環境已有任務調度係統,期待使用此調度係統觸發執行同步作業;
d) 數據上雲是臨時性的、一次性的操作;DI On Hadoop適用於企業已有Hadoop集群,且對數據同步性能有很高的要求,此時用DI On Hadoop工具來完成數據上雲。它可以充分的利用現有Hadoop 集群的能力,來快速完成從Hadoop 到 MaxCompute的數據遷移或上雲。但它對網絡情況也有一定要求,它要求Hadoop集群的機器必須可以通過公網或者專線的方式,能過連通MaxCompute。
MaxCompute客戶端中有Tunnel 命令,它適用於原始數據存在在文件,臨時或一次性上傳一些數據到MaxCompute。
**Tunnel SDK **:在上述工具均無法滿足需求時,可以通過自己調用Tunnel SDK實現更加靈活自由的數據上傳需求。比如:
a) 數據下載過程中,需要根據數據內容不同,分發到不同的數據庫或分庫分表。
實時采集工具適用場景說明:
- **Logstash / Flume / Flunted **為3個開源的數據采集工具,阿裏雲分別為其提供了寫入DataHub的插件,可以實現數據采集後輸出到DataHub。適用於大部分文件類數據采集類需求,如行為日誌,係統日誌等。選擇這3個,主要取決於用戶自己的技術傾向。 Logstash 為JRuby開發,Flume為Java開發,Flunted為Ruby開發。三者性能上來看Flunted略差,Logstash和Flume應該說不分仲伯吧,暫無明確數據對比。
- Log Service(日誌服務)是阿裏雲提供的針對日誌類數據的一站式服務,它可以完成采集日誌信息,並將其投遞給各種下遊產品,其中就包括Stream Compute 和 MaxCompute。它與Logstash / Flume / Flunted 所完成的場景類似,選擇哪個主要取決於客戶的使用習慣或技術傾向,暫無比較明顯的區別。
- DTS(數據傳輸服務)是阿裏雲提供的雲上數據的實時傳輸服務,適用於采集RDS(MySQL)的實時更新數據,並將其傳輸給DataHub或MaxCompute。如果你有雲上RDS(MySQL)數據需要上傳到大數據平台,那麼可以選擇它。不過它采集的是binlog信息,到MaxCompute後還需對數據做合並和預處理。
- OGG(Oracle GoldenGate)主要適用於源庫為Oracle,可以通過其采集實時更新數據到DataHub中。一般在公共雲上比較少見,但在專有雲即線下機房比較常見。
整理各個工具的官網及使用說明供大家參考:
- 數據集成(DI)官網:https://www.aliyun.com/product/cdp 使用文檔:https://help.aliyun.com/document_detail/47677.html
- DataX源碼:https://github.com/alibaba/DataX 快速開始:https://github.com/alibaba/DataX/wiki/Quick-Start 各個數據源配置:https://github.com/alibaba/DataX/wiki/DataX-all-data-channels
- DI On Hadoop 暫無,目前還未完全開放。
- MaxCompute 客戶端 安裝:https://help.aliyun.com/document_detail/27971.html Tunnel命令說明:https://help.aliyun.com/document_detail/27833.html
- Tunnel SDK 使用說明:https://help.aliyun.com/document_detail/27837.html Tunnel SDK 上傳下載示例:https://help.aliyun.com/document_detail/27842.html
- Logstash 官網幫助文檔:https://www.elastic.co/guide/en/logstash/2.3/index.html 阿裏雲Logstash教程文檔:https://help.aliyun.com/document_detail/47451.html
- Flume 插件開源網站:https://github.com/aliyun/aliyun-maxcompute-data-collectors/tree/master/flume-plugin
- Flunted 官方文檔https://docs.fluentd.org/v0.12/articles/quickstart 阿裏雲Flunted教程文檔:https://help.aliyun.com/document_detail/47450.html
- Log Service 官網:https://www.aliyun.com/product/sls Log Service 數據采集:https://help.aliyun.com/document_detail/28981.html Log Service 投遞 MaxCompute:https://help.aliyun.com/document_detail/29001.html Log Service StreamCompute實時消費:https://help.aliyun.com/document_detail/47334.html
- DTS 官網:https://www.aliyun.com/product/dts DTS 采集到MaxCompute:https://help.aliyun.com/document_detail/44547.html DTS 采集到Datahub:https://help.aliyun.com/document_detail/45214.html
- OGG 阿裏雲使用教程:https://help.aliyun.com/document_detail/47452.html
最後更新:2017-06-22 12:01:52
上一篇:
未來已來!阿裏小蜜AI技術揭秘
下一篇:
《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一3.4 小結
在Linux係統中存儲設備的兩種表示方法
競爭對手短期內不足以威脅Android地位
Markdown
《Linux From Scratch》第二部分:準備構建 第五章:構建臨時文件係統- 5.7. Glibc-2.21
Pro JavaScript Techniques第三章: 創建可重用的代碼
《Vim實用技巧(第2版)》——2.4 用次數做簡單的算術運算
Linux網絡設置3——ssh工具使用的注意點
How to install Django¶
拓道金服&雲棲大會免費門票獲獎名單
linux驅動開發--字符設備:通過cdd_cdev結構中的led變量區分是哪個節點,private_data使用