初次遇見大數據及Hadoop生態系統
1.什麼是大數據?
說到大數據不得不提到當今人們的生活處於各個交織的網路當中,我們無時無刻不在製造數據,比如逛購物網站,每一次點擊挑選,下單,支付,都在產生數據,擁有這些數據就可以計算出你這個人的一些屬性,根據消費習慣可以區分你的興趣,電子產品控?鞋控?化妝品控?根據消費水平可以區別貧農?平民?地主?
再比如智能穿戴設備,實時收集你的睡眠質量,運動情況,心肺數據等並根據這些數據計算分析出你的身體情況。如今又是自媒體時代,自己的創作的文章,曬的自拍照片,以及很火的短視頻分享等,總之,我們無時無刻不在產生大量數據,又因為人口眾多,對這些數據的存儲,計算,分析要求也越來越高。
綜上所述,我們可以總結出大數據的4V特徵:
1.Volume 數據體量龐大 (PB級->EB級->ZB級)
2.Varity 數據類型多樣 (文本|圖像|音視頻)
3.Velocity 速度要求快 (數據輸入輸出的速度)
4.Veracity 數據價值密度低 (商業價值高)
2.大數據之Hadoop
Apache Hadoop是一個應用Java語言實現的實現雲計算的事實標準開源軟體,由大量的廉價的計算機組成的集群中運行海量數據的可靠的,可擴展的分散式並行計算框架,它可以讓應用程序支持上千個節點和PB級別的數據。
Hadoop是項目的總稱,主要是由分散式存儲(HDFS)、和分散式並行計算模型(MapReduce)等組成。包含數十個具有強大生命力的子項目,已經能在數千節點上運行,處理數據量和排序時間不斷打破世界紀錄。
Hadoop很重要的一點是:不是依靠硬體來提供高可用性,換句話說就是可以集群在普通廉價的pc上,而不需要昂貴的商用機。
Hadoop項目主要包括以下四個模塊:
- Hadoop Common :支持其他Hadoop模塊的常用工具。
- Hadoop HDFS :一種分散式文件系統,可提供對應用程序數據的高吞吐量訪問。
- Hadoop YARN :作業調度和集群資源管理的框架。
- Hadoop MapReduce :一種用於離線並行處理大型數據集的框架。
Hadoop 2.x生態系統
Apache的其他Hadoop相關項目包括:
- Ambari?:一種用於供應,管理和監控Apache Hadoop集群的基於Web的工具,其中包括對Hadoop HDFS,Hadoop MapReduce,Hive,HCatalog,HBase,ZooKeeper,Oozie,Pig和Sqoop的支持。Ambari還提供了一個用於查看群集運行狀況的儀錶板,例如熱圖和可以直觀地查看MapReduce,Pig和Hive應用程序的功能,以及以用戶友好的方式診斷其性能特徵的功能。
- Avro?:數據序列化系統。
- Cassandra?:無單點故障的可擴展多主資料庫。
- Chukwa?:管理大型分散式系統的數據收集系統。
- HBase?:可擴展的分散式資料庫,支持大型表格的結構化數據存儲。
- Hive?:提供數據匯總和即席查詢的數據倉庫基礎架構。
- Mahout?:可擴展的機器學習和數據挖掘庫。
- Pig?:用於並行計算的高級數據流語言和執行框架。
- Spark?:用於Hadoop數據的快速和通用計算引擎。Spark提供了一個簡單而富有表現力的編程模型,支持廣泛的應用程序,包括ETL,機器學習,流處理和圖計算。
- Tez?:一種基於Hadoop YARN的通用數據流編程框架,它提供了一個強大且靈活的引擎,可執行任意DAG任務來處理批處理和互動式用例的數據。Hado?,Pig?和Hadoop生態系統中的其他框架以及其他商業軟體(例如ETL工具)正在採用Tez來替代Hadoop?MapReduce作為底層執行引擎。
- ZooKeeper?:分散式應用程序的高性能協調服務。
初次遇見大數據只做簡單介紹,下一篇將深入介紹Hadoop2.x,主要包括:
- HDFS文件系統
- YARN資源調度管理
敬請期待!
如果覺得文章不錯,隨手給個贊吧,你的點贊是給我最大的支持,另外有錯誤歡迎留言指出,謝謝。
歡迎關注我的公眾號:Jianpan,第一時間通知好文,獲取學習資料等。
推薦閱讀:
※第三章:大數據技術在配電網中的應用(國內外現狀)
※啤酒與尿布的故事
※如何利用大數據找到VC們?
※【ML專欄】談One-hot的本質功能
※警惕SDK代碼的應用:揭秘SDK採集5類隱私數據的方式