1. 程式人生 > >大資料要學習哪些技術呢?大資料技術的分類與選擇路線

大資料要學習哪些技術呢?大資料技術的分類與選擇路線

大資料的處理過程可以分為大資料採集、儲存、結構化處理、隱私保護、挖掘、結果展示(釋出)等,各種領域的大資料應用一般都會涉及到這些基本過程,但不同應用可能會有所側重。對於網際網路大資料而言,由於其具有獨特完整的大資料特點,除了共性技術外,採集技術、結構化處理技術、隱私保護也非常突出。

有很多演算法和模型可以解決這些處理過程中的技術問題,並且為了終端使用者的使用方便,它們大都被進一步的封裝,形成了比較簡單易用的操作平臺。目前大資料技術平臺有很多,歸納起來可以按照以下方式進行分類:

  1. 從大資料處理的過程來分:包括資料儲存、資料探勘分析、以及為完成高效分析挖掘而設計的計算平臺,它們完成資料採集、ETL、儲存、結構化處理、挖掘、 分析、預測、應用等功能。

  2. 從大資料處理的資料型別來劃分:可以分為針對關係型資料、非關係型資料(圖資料、文字資料、網路型資料等)、半結構化資料、混合型別資料處理的技術平臺。

  3. 從大資料處理的方式來劃分:可以分為批量處理、實時處理、綜合處理。其中批量資料是對成批資料進行一次性處理,而實時處理(流處理)對處理的延時有嚴格的要求,綜合處理是指同時具備批量處理和實時處理兩種方式。

  4. 從平臺對資料的部署方式看:可以分為基於記憶體的、基於磁碟的。前者在分散式系統內部的資料交換是在記憶體中進行,後者則是通過磁碟檔案的方式。

此外,技術平臺還有分散式、集中式之分,雲環境和非雲環境之分等。阿里雲大資料平臺構建在阿里云云計算基礎設施之上,為使用者提供了大資料儲存、計算能力、大資料分析挖掘、以及輸出展示等服務,使用者可以容易地實現BI商業智慧、人工智慧服務,具備一站式資料應用能力。在以前的一篇推送(“基於阿里雲大資料技術的個性化新聞推薦”)中,描述了基於阿里雲大資料技術的個性化新聞推薦系統分析設計與部署方法。

不同的大資料技術平臺提供了對這些處理過程的支援,有的平臺可能會支援多個過程,但是側重點也不同,支援的深度也有所不同,因此有必要熟悉各種平臺的功能,並做出比較分析,以便在實際應用中選擇適合於自己需求的技術平臺。

選擇一個合適的大資料技術平臺是非常重要的,它能夠使得大資料應用開發更加容易、讓開發人員更集中精力在業務層面的資料分析與處理上。一些共性的基礎問題,例如資料如何儲存、如何檢索、資料統計等,就可以由平臺來完成。選擇合適的大資料技術平臺應當考慮以下因素:

  1. 平臺的功能與效能:由於不同平臺側重的功能不同,平臺的效能也就有很多需要考察的方面。比如對於儲存平臺來說,資料的儲存效率、讀寫效率、併發訪問能力、對結構化與非結構化資料儲存的支援,所提供的資料訪問介面等方面就是比較重要的。對於大資料探勘平臺來說,所支援的挖掘演算法、演算法的封裝程度、資料探勘結果的展示能力、挖掘演算法的時間和空間複雜度等,是比較重要的指標。

  2. 平臺的整合度:好的平臺應該具有較高的整合度,為使用者提供良好的操作介面,具有完善的幫助和使用手冊、系統易於配置、移植性好。同時隨著目前軟體開源的趨勢,開源平臺有助於其版本的快速升級,儘快發現其中的bug,此外,開源的架構也比較容易進行擴充套件,植入更多的新演算法,這對於終端使用者而言也是比較重要的。

  3. 是否符合技術發展趨勢:大資料技術是當前發展和研究的熱點,其最終將走向逐步成熟,可以預見在這個過程中,並非所有的技術平臺都能生存下來。只有符合技術發展趨勢的技術平臺才會被使用者、被技術開發人員所接受。因此,一些不支援分散式、叢集計算的平臺大概只能針對較小的資料量,側重於對挖掘演算法的驗證。而與雲端計算、物聯網、人工智慧聯絡密切的技術平臺將成為主流,是技術發展趨勢。

同時應當充分意識到,技術迭代更新速度加快,當我們花很多時間去掌握熟悉某種技術平臺後,可能新的更好的技術平臺出現了,導致我們受累奔波於各種技術平臺,因此,最好的策略就是全面系統地掌握大資料技術的原理和實現方案,這樣學習新的技術平臺就很容易上手。大資料學習群142973723