標籤:
轉自:http://www.jdon.com/bigdata/whatisbigdata.html
----------
你可能會問什麼是大資料,它幾乎是每一個業務領域的最新趨勢?難道僅僅是炒作?
事實上"大資料"是一個非常簡單的術語 - 它只是說 - 一個非常大的資料集。有多大?確切答案是"你能想象的一樣大"!
這個資料集為何能如此大規模?因為資料可能來自無處不在,無時不變的: RFID感應器,流量資料,用於收集氣象資訊感應器,手機的GPRS包,社交媒體網站的發布,數位照片和視頻,在網上購買的交易記錄,你的名字!大資料是一個巨大的資料集,包含來自於每一個資訊源產生的我們感興趣的資料。
大資料的特點是四個主要方面:數量,品種繁多,速度和準確性(價值)英文:Volume, Variety, Velocity,和 Veracity ,被稱為"大資料的四大V" 。
Volume數量
數量是指能夠捕捉,儲存和訪問的業務資料量。僅在過去的兩年中,產生全球90%的資料。目前大部分組織已經不堪重負如此巨大的資料量,已經積累至TB級甚至PB級,其中一些需要進行組織,儲存和分析。
Variety品種
全球80%的資料是半結構化的。感應器,智慧型裝置和社交媒體都是產生此類資料,網站日誌,社交媒體論壇,音頻,視頻,點擊流,電子郵件,檔案,感應器系統等也都是。傳統的分析解決方案可以很好工作於結構化資料,例如關係型資料庫中的資料以及形成的模式。支援各種資料類型的儲存和分析在今天需求擴大,需要綜合表示各種類型的資料,不能簡單地捕獲傳統的關聯式資料庫管理的資料,而且很容易地實現儲存和資料分析的大資料技術呼之欲出。
Velocity速度
速度就是需要即時的資料分析,"有時耽誤2分鐘為時已晚!" 。為獲得競爭優勢,意味著你的競爭者可能會在你幾分鐘甚至幾秒鐘之前識別趨勢或機會。另一個例子是對時間敏感的處理過程,例如,捕捉資訊欺詐,因為它時刻會流進您的企業,因此必須即時加以分析。時間敏感的資料有一個很短的保質期;一些有名的織都在近即時對它們進行分析。
Veracity 真實性價值
基於資料我們創造機會和擷取價值。資料是所有決定的支援,所以如果你正在尋找可以對您的業務有重大影響的決策,你會希望儘可能多的資訊來可以支援你的決策。然而,分離單獨的資料量並不能提供足夠的信任,資料的真實性和品質是最重要的,因此,建立在大資料解決方案的決策是最大挑戰,是實現成功決策的堅實基礎。
下面是基於Java支援大資料的產品:
Hadoop
Hadoop分HDFS和Map/reduce,HDFS是Hadoop的主要分布式儲存。一個HDFS叢集主要由一個NameNode(管理檔案系統的中繼資料)和儲存實際資料的DataNode組成。 HDFS是專門設計用於儲存大量的資料,實現了存取最佳化。
Hadoop的MapReduce是一個軟體架構,可方便地編寫應用程式處理大量的資料(多是TB資料集),在伺服器硬體數千個節點的大型叢集上實現一個可靠的,容錯的方式並行啟動並執行系統。
詳細進入:Hadoop大資料批處理架構
Apache HBase
Apache HBase是Hadoop的資料庫,一個分布式的,可擴充的資料存放區。它提供了隨機,即時讀/寫訪問大資料,並進行了最佳化承載非常大的資料表 - 數十億行乘以百萬列 -,實現伺服器硬體之上叢集。在其核心Apache HBase是一個分布式的面向列的資料庫,屬於Google的Bigtable:Apache HBase在Hadoop和HDFS之上提供了類似於Bigtable的能力。
詳細進入:NOSQL之旅---HBase
Apache Cassandra
Apache Cassandra是一個高效能,可擴充性和高線性可用的資料庫,可以運行在伺服器或雲基礎設施上,為關鍵任務資料提供完美的平台,。 Cassandra支援多個資料中心之間複製是同類產品中最好,為使用者提供更低的延遲,甚至不懼怕停電。 Cassandra的資料模型提供了便利的列索引,高效能試圖和強大的內建緩衝。
詳細進入:Cassandra專題
Apache Hive
Apache蜂巢Hive是Hadoop的資料倉儲系統,方便簡單的資料匯總工具,對儲存在Hadoop相容的檔案系統上大型資料集實現查詢和分析。Hive提供了查詢資料類似SQL的語言稱為HiveQL。同時,這語言也可以讓傳統的map / reduce程式員嵌入他們的自訂maperhe reducer.
詳細進入:Hive架構
Apache Pig
Apache Pig是一個用於分析大型資料集的平台。它包含一個高層次的編寫資料分析程式的指令碼語言,Pigde 程式的顯著屬性是它適合進行大量的並行化,輪流處理非常大的資料集。pig的基礎設施層由產生的序列Map-Reduce程式的編譯器組成。豬的語言稱為Pig Latin,易於開發編程並考慮了擴充性與易用性。
Apache Chukwa
是一個開源大型分布式系統的資料擷取監視系統。它是建立在HadoopDistributed File System(HDFS)和Map/ Reduce架構之上,並繼承了Hadoop的延展性和健壯性。 Chukwa還包括一個靈活而強大的工具包,用於顯示,監測和分析結果,以便做出最佳地使用所收集的資料。
Apache Ambari
是一個基於Web的工具,用於配置,管理和監控的Apache Hadoop叢集,包括支援HBase,Hadoop的MapReduce,Hadoop的HDFS,蜂房Hive,HCatalog的ZooKeeper,Oozie,Pig和Sqoop。還提供了儀錶盤查看叢集的健康,如熱圖,並能夠虛擬化查看MapReduce,Pig和Hive應用,以方便使用的方式來診斷其效能特點。
Apache ZooKeeper
是一種集中式的服務(Server Load Balancer器),維護配置資訊,提供命名,提供分布式的同步,並提供團體服務。Apache ZooKeeper協調運行在Hadoop叢集上的分布式應用程式。
ZooKeeper在服務發現中應用
Apache Sqoop
Apache Sqoop的是一個專為Apache Hadoop設計的轉換工具,在與關聯式資料庫的結構化資料存放區之間高效地傳輸大量資料。
Apache Oozie
Apache Oozie是一個管理Apache Hadoop作業的可擴充的,可靠的和可擴充的工作流程調度系統。 Oozie工作流程的工作都是由DAG(irected Acyclical Graphs)指揮。Oozie協調工作常是由頻繁的資料到達觸發的Oozie工作流程工作。 Oozie整合支援幾種類型的Hadoop作業開箱(Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop and Distcp)以及系統的具體工作(shell指令碼)。
Apache Mahout
Apache Mahout是一個可擴充的機器學習和資料採礦庫。目前Mahout的支援主要是四個用例:
推薦挖掘:試圖找到使用者的行為和可能會喜歡的項目。
叢集:找到文字檔相關處,然後將他們分為局部檔案。
分類:從現有的分類中學習,能夠分配到正確的類別。
頻繁項集挖掘:需要項目組(查詢會話中,購物車的內容),並確定,其中個別項目通常一起出現。
使用Mahout實現自然語言處理
Apache HCatalog
Apache HCatalog是一個使用Apache的Hadoop建立的資料表和儲存管理服務。這包括:
- 提供一個共用的架構和資料類型的機制。
- 提供一個表抽象,使使用者不必關心在哪裡或如何儲存他們的資料。
- 資料處理工具,如Pig,地Map Reduce,和Hive提供的互通性。
結構化資料與非結構化資料
大資料用到的技術