隨著近幾年計算機技術和互聯網的發展,“大數據”這個名詞越來越多進入我們的視野。大數據的快速發展也在無時無刻影響著我們的生活。
那大數據究竟是什么呢?
首先,看看專家是怎么解釋大數據的:
大數據就是多,就是多。原來的設備存不下、算不動?!静ぬ}·畢加索
大數據,不是隨機樣本,而是所有數據;不是精確性,而是混雜性;不是因果關系,而是相關關系?!猄ch?nberger
顧名思義“大數據”,從字面意思來理解就是“大量的數據”。
從技術的的角度來解釋,大數據就是指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。
IBM提出大數據具有5V特點:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(低價值密度)、Veracity(真實性)。
我們所談論的大數據實際上更多是從應用的層面,比如某公司搜集、整理了大量的用戶行為信息,然后通過數據分析手段對這些信息進行分析從而得出對公司有利用價值的結果。
比如:頭條的推薦機制,就是建立在對海量用戶的閱讀信息的搜集、分析之上。這就是大數據在現實中具體體現。
那Hadoop又是什么?它和大數據又有什么聯系呢?
Hadoop是一個對海量數據進行處理的分布式系統架構,可以理解為Hadoop就是一個對大量的數據進行分析的工具,和其他組件搭配使用,來完成對大量數據的收集、存儲和計算。
Hadoop框架最核心的設計就是:HDFS 和 MapReduce。
HDFS為海量的數據提供了存儲;MapReduce為海量的數據提供了計算。
一套完整的Hadoop大數據生態系統基本包含這些組件。
HDFS:Hadoop分布式文件系統,專門存儲超大數據文件,為整個Hadoop生態圈提供了基礎的存儲服務。
MapReduce:分布式離線計算框架,用來處理大量的已經存儲在本地的離線數據。
Storm:分布式實時計算,主要特點是實時性,用來處理實時產生的數據。
ZooKeeper:用于Hadoop的分布式協調服務。Hadoop的許多組件依賴于Zookeeper,它運行在計算機集群上面,用于管理Hadoop操作。
HBase:是一個建立在HDFS之上,面向列的NoSQL數據庫,用于快速讀/寫大量數據。
Hive:基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表。
Sqoop:是一個連接工具,用于在關系數據庫、數據倉庫和Hadoop之間轉移數據。
Pig:它是MapReduce編程的復雜性的抽象。Pig平臺包括運行環境和用于分析Hadoop數據集的腳本語言(Pig Latin)。