1. 程式人生 > >大數據方面的核心技術

大數據方面的核心技術

轉換 語言 重要 結構化 擴展 分布式計算 mode 模式 表示

目前,大數據領域每年都會湧現出大量新的技術,成為大數據獲取、存儲、處理分析或可視化的有效手段。大數據技術能夠將大規模數據中隱藏的信息和知識挖掘出來,為人類社會經濟活動提供依據,提高各個領域的運行效率,甚至整個社會經濟的集約化程度。那麽下面我們就說說大數據方面的核心技術有哪些:
1. 大數據生命周期

· 底層是基礎設施,涵蓋計算資源、內存與存儲和網絡互聯,具體表現為計算節點、集群、機櫃和數據中心。在此之上是數據存儲和管理,包括文件系統、數據庫和類似YARN的資源管理系統。然後是計算處理層,如hadoop、MapReduce和Spark,以及在此之上的各種不同計算範式,如批處理、流處理和圖計算等,包括衍生出編程模型的計算模型,如BSP、GAS 等。

· 數據分析和可視化基於計算處理層。分析包括簡單的查詢分析、流分析以及更復雜的分析(如機器學習、圖計算等)。查詢分析多基於表結構和關系函數,流分析基於數據、事件流以及簡單的統計分析,而復雜分析則基於更復雜的數據結構與方法,如圖、矩陣、叠代計算和線性代數。一般意義的可視化是對分析結果的展示。但是通過交互式可視化,還可以探索性地提問,使分析獲得新的線索,形成叠代的分析和可視化。基於大規模數據的實時交互可視化分析以及在這個過程中引入自動化的因素是目前研究的熱點。

· 2.大數據技術生態

· 大數據的基本處理流程與傳統數據處理流程並無太大差異,主要區別在於:由於大數據要處理大量、非結構化的數據,所以在各處理環節中都可以采用並行處理。目前,Hadoop、MapReduce和Spark等分布式處理方式已經成為大數據處理各環節的通用處理方法。

· 3.大數據采集與預處理

在大數據的生命周期中,數據采集處於第一個環節。根據MapReduce產生數據的應用系統分類,大數據的采集主要有4種來源:管理信息系統、Web信息系統、物理信息系統、科學實驗系統。對於不同的數據集,可能存在不同的結構和模式,如文件、XML 樹、關系表等,表現為數據的異構性。對多個異構的數據集,需要做進一步集成處理或整合處理,將來自不同數據集的數據收集、整理、清洗、轉換後,生成到一個新的數據集,為後續查詢和分析處理提供統一的數據視圖。針對管理信息系統中異構數據庫集成技術、Web 信息系統中的實體識別技術和DeepWeb集成技術、傳感器網絡數據融合技術已經有很多研究工作,取得了較大的進展,已經推出了多種數據清洗和質量控制工具。

· 4.大數據存儲與管理

按數據類型的不同,大數據的存儲和管理采用不同的技術路線,大致可以分為3類。第1類主要面對的是大規模的結構化數據。針對這類大數據,通常采用新型數據庫集群。它們通過列存儲或行列混合存儲以及粗粒度索引等技術,結合MPP(Massive Parallel Processing)架構高效的分布式計算模式,實現對PB 量級數據的存儲和管理。這類集群具有高性能和高擴展性特點,在企業分析類應用領域已獲得廣泛應用;第2類主要面對的是半結構化和非結構化數據。應對這類應用場景,基於Hadoop開源體系的系統平臺更為擅長。它們通過對Hadoop生態體系的技術擴展和封裝,實現對半結構化和非結構化數據的存儲和管理;第3類面對的是結構化和非結構化混合的大數據,因此采用MPP 並行數據庫集群與Hadoop 集群的混合來實現對百PB 量級、EB量級數據的存儲和管理。一方面,用MPP 來管理計算高質量的結構化數據,提供強大的SQL和OLTP型服務;另一方面,用Hadoop實現對半結構化和非結構化數據的處理,以支持諸如內容檢索、深度挖掘與綜合分析等新型應用。這類混合模式將是大數據存儲和管理未來發展的趨勢。

· 5.大數據計算模式與系統

· 所謂大數據計算模式,即根據大數據的不同數據特征和計算特征,從多樣性的大數據計算問題和需求中提煉並建立的各種高層抽象(abstraction)或模型(model)。例如,MapReduce 是一個並行計算抽象,加州大學伯克利分校著名的Spark系統中的“分布內存抽象RDD”,CMU 著名的圖計算系統GraphLab中的“圖並行抽象”(Graph Parallel Abstraction)等。傳統的並行計算方法,主要從體系結構和編程語言的層面定義了一些較為底層的並行計算抽象和模型,但由於大數據處理問題具有很多高層的數據特征和計算特征,因此大數據處理需要更多地結合這些高層特征考慮更為高層的計算模式。

根據大數據處理多樣性的需求和以上不同的特征維度,目前出現了多種典型和重要的大數據計算模式。與這些計算模式相適應,出現了很多對應的大數據計算系統和工具。由於單純描述計算模式比較抽象和空洞,因此在描述不同計算模式時,將同時給出相應的典型計算系統和工具。

· 6.大數據分析與可視化

大規模數據的可視化主要是基於並行算法設計的技術,合理利用有限的計算資源,高效地處理和分析特定數據集的特性。通常情況下,大規模數據可視化的技術會結合多分辨率表示等方法,以獲得足夠的互動性能。
在科學大規模數據的並行可視化工作中,主要涉及數據流線化、任務並行化、管道並行化和數據並行化4 種基本技術。微軟公司在其雲計算平臺Azure 上開發了大規模機器學習可視化平臺(Azure Machine Learning),將大數據分析任務形式為有向無環圖並以數據流圖的方式向用戶展示,取得了比較好的效果。在國內,阿裏巴巴旗下的大數據分析平臺禦膳房也采用了類似的方式,為業務人員提供的互動式大數據分析平臺。

最後要感謝這個優秀的平臺,可以讓我們相互交流,如果想進一步學習交流,可以加群460570824,希望大家可以一起學習進步!

?

大數據方面的核心技術