如何進入大數據領域,學習路線是什麼?
想要從事大數據技術開發工作,請問要怎麼做,路線是什麼?從哪裡開始學?學哪些?
以下為網上找的資料,目測也是知乎曾經的回答。
Hadoop大數據學習線路圖入門知識
對於我們新手入門學習hadoop的朋友來說,首先了解一下雲計算和雲計算技術是有必要的。下面先是介紹雲計算和雲計算技術的:
雲計算,是一種基於互聯網的計算方式,通過這種方式,共享的軟硬體資源和信息可以按需求提供給計算機和其他設備,主要是基於互聯網的相關服務地增加、使用和交付模式,通常涉及通過互聯網來提供動態易擴展且經常是虛擬化的資源。雲是網路、互聯網的一種比喻說法。過去在圖中往往用雲來表示電信網,後來也用來表示互聯網和底層基礎設施的抽象。狹義雲計算指IT基礎設施的交付和使用模式,指通過網路以按需、易擴展的方式獲得所需資源;廣義雲計算指服務地交付和使用模式,指通過網路以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟體、互聯網相關,也可是其他服務。它意味著計算也可作為一種商品通過互聯網進行流通。
什麼是雲計算?
什麼是雲計算技術?
在世界上雲計算已經大面流行,有很流行的Google、Drive、SkyDrive、Dropbox、亞馬遜雲服務等等。在國內百度雲存儲、360雲存儲都是比較流行的。
我們接下來就應該會想到大數據存儲,目前開源市場上最流行的應該是hadoop分散式存儲,已經有大部分互聯網公司已經開始使用,例如百度、360、阿里巴巴,其中一部分公司已經把hadoop作為他們的核心產品例如英特爾、IBM並為部分工作提供過大數據的解決方案,
大家可以了解一下英特爾在不行業提供的解決方案:
· 面向智能交通的大數據和英特爾? 智能系統解決方案
· 物聯網商機和技術挑戰(英特爾)
· 大數據在醫療行業的應用
· 英特爾IT開源混合雲
Hadoop基礎
Hadoop是一個能夠對大量數據進行分散式處理的軟體框架,它是一種技術的實現,是雲計算技術中重要的組成部分,雲計算的概念更廣泛且偏向業務而不是必須拘泥於某項具體技術,雲計算的存在只是一種新的商業計算模型和服務模式。因此,雲計算才會出現「橫看成嶺側成峰,遠近高低各不同」,各種各樣層出不窮的理解。
對於初學hadoop的朋友來說可能基於迫切尋找一本入門的書,我個人覺得不用於急於尋找書,先了解hadoop是否做什麼、它能做什麼、能帶來什麼 hadoop使用場景、Hadoop到底能做什麼?怎麼用hadoop?,當大家對這些有所了解,就會如何入手學習hadoop接下來大家應該進行系統性的學習hadoop了,我個人建議不要盲目的去搭建hadoop環境,熟悉了解hadoop基本知識及其所需要的知識例如java基礎、linux環境、linux常用命令,它相關產品及其衍生產品,他們之間是什麼關係如何工作,每個產品它們的特點是什麼,
下面是hadoop一些基本知識:
1 hadoop HDFS文件系統的特徵
存儲極大數目的信息(terabytes or petabytes),將數據保存到大量的節點當中。支持很大單個文件。
提供數據的高可靠性,單個或者多個節點不工作,對系統不會造成任何影響,數據仍然可用。 提供對這些信息的快速訪問,並提供可擴展的方式。能夠通過簡單加入更多伺服器的方式就能夠服務更多的客戶端。 HDFS是針對MapReduce設計的,使得數據儘可能根據其本地局部性進行訪問與計算。 2 Hadoop簡介(1):什麼是Map/Reduce3 Mapreduce 整個工作機製圖
4 Hadoop mapper類的閱讀
5 Hadoop reducer類的閱讀
6 Mapreduce shuffle和排序
上面這些都是hadoop核心部分,當這些有所了解後,大家基本上可以具備大家hadoop環境的條了。hadoop部署方式為單機模式、偽分散式、完全分散式。對單機模式大家可以不用去關心和學習,在學習中我個人建議是搭建偽分散式,完全分散式是生產環境中使用,當大家把偽分散式後,必須對完全分散式有所了解,知道是如何工作的,也可以試著搭建hadoop的完成分散式。現在hadoop已經發行了最新的2.2.x版本,但是不測試不夠全面不夠穩定,大家應該選擇比較穩定的版本學習,因為在公司中還是會使用穩定的版本,2.2.x版本中一些處理機制和方案是值得我們學習的,需要有所了解的是, Hadoop 各個發布版的特性以及穩定性。
下面是搭建hadoop的安裝步驟:
搭建偽分散式:hadoop 偽分散式搭建 完全分散式:hadoop 三節點集群安裝配置詳細實例
大家這些有了基礎性的學習後,這時候是比較適合找本書來系統性的學習hadoop。
· Hadoop權威指南(第2版) 分享地址:http://pan.baidu.com/s/1iNuj 密碼:ywwh
· hadoop相關文檔下載 鏈接: http://pan.baidu.com/s/1gdwtu1t 密碼: slml
有一點想提醒初學的朋友,在學習hadoop開發的時候不要使用hadoop eclipse插件,這樣會給你帶來不必要的問題,你可以在eclipse使用maven工具下載hadoop資源包,然後寫好mapreduce代碼打包後傳上自己的服務,使用命令啟動運行。
Hadoop家族產品
截止到2013年,根據cloudera的統計,Hadoop家族產品已經達到20個!
Apache Hadoop in 2013: The State of the PlatformQQ截圖20140425120600
接下來,我把這20個產品,分成了2類。
第一類,是我已經掌握的
第二類,是TODO準備繼續學習的 HadoopFamilySmall一句話產品介紹:
Apache Hadoop: 是Apache開源組織的一個分散式計算開源框架,提供了一個分散式文件系統子項目(HDFS)和支持MapReduce分散式計算的軟體架構。
Apache Hive: 是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析。 Apache Pig: 是一個基於Hadoop的大規模數據分析工具,它提供的SQL-LIKE語言叫Pig Latin,該語言的編譯器會把類SQL的數據分析請求轉換為一系列經過優化處理的MapReduce運算。 Apache HBase: 是一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。 Apache Sqoop: 是一個用來將Hadoop和關係型資料庫中的數據相互轉移的工具,可以將一個關係型資料庫(MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型資料庫中。 Apache Zookeeper: 是一個為分散式應用所設計的分布的、開源的協調服務,它主要是用來解決分散式應用中經常遇到的一些數據管理問題,簡化分散式應用協調及其管理的難度,提供高性能的分散式服務 Apache Mahout:是基於Hadoop的機器學習和數據挖掘的一個分散式框架。Mahout用MapReduce實現了部分數據挖掘演算法,解決了並行挖掘的問題。 Apache Cassandra:是一套開源分散式NoSQL資料庫系統。它最初由Facebook開發,用於儲存簡單格式數據,集Google BigTable的數據模型與Amazon Dynamo的完全分散式的架構於一身 Apache Avro: 是一個數據序列化系統,設計用於支持數據密集型,大批量數據交換的應用。Avro是新的數據序列化格式與傳輸工具,將逐步取代Hadoop原有的IPC機制 Apache Ambari: 是一種基於Web的工具,支持Hadoop集群的供應、管理和監控。Apache Chukwa: 是一個開源的用於監控大型分散式系統的數據收集系統,它可以將各種各樣類型的數據收集成適合 Hadoop 處理的文件保存在 HDFS 中供 Hadoop 進行各種 MapReduce 操作。
Apache Hama: 是一個基於HDFS的BSP(Bulk Synchronous Parallel)並行計算框架, Hama可用於包括圖、矩陣和網路演算法在內的大規模、大數據計算。 Apache Flume: 是一個分布的、可靠的、高可用的海量日誌聚合的系統,可用於日誌數據收集,日誌數據處理,日誌數據傳輸。 Apache Giraph: 是一個可伸縮的分散式迭代圖處理系統, 基於Hadoop平台,靈感來自 BSP (bulk synchronous parallel) 和 Google 的 Pregel。 Apache Oozie: 是一個工作流引擎伺服器, 用於管理和協調運行在Hadoop平台上(HDFS、Pig和MapReduce)的任務。 Apache Crunch: 是基於Google的FlumeJava庫編寫的Java庫,用於創建MapReduce程序。與Hive,Pig類似,Crunch提供了用於實現如連接數據、執行聚合和排序記錄等常見任務的模式庫 Apache Whirr: 是一套運行於雲服務的類庫(包括Hadoop),可提供高度的互補性。Whirr學支持Amazon EC2和Rackspace的服務。 Apache Bigtop: 是一個對Hadoop及其周邊生態進行打包,分發和測試的工具。 Apache HCatalog: 是基於Hadoop的數據表和存儲管理,實現中央的元數據和模式管理,跨越Hadoop和RDBMS,利用Pig和Hive提供關係視圖。 Cloudera Hue: 是一個基於WEB的監控和管理系統,實現對HDFS,MapReduce/YARN, HBase, Hive, Pig的web化操作和管理。Hadoop家族學習路線圖
下面我將分別介紹各個產品的安裝和使用,以我經驗總結我的學習路線。
Hadoop
Hadoop學習路線(參考Hadoop基礎)
Yarn學習路線圖 用Maven構建Hadoop項目 Hadoop歷史版本安裝 Hadoop編程調用HDFS 海量Web日誌分析 用Hadoop提取KPI統計指標 用Hadoop構建電影推薦系統創建Hadoop母體虛擬機
克隆虛擬機增加Hadoop節點 R語言為Hadoop注入統計血脈 RHadoop實踐系列之一 Hadoop環境搭建 HiveHive學習路線圖
Hive安裝及使用攻略 Hive導入10G數據的測試 R利劍NoSQL系列文章 之 Hive 用RHive從歷史數據中提取逆回購信息Pig
Pig學習路線圖
ZookeeperZookeeper學習路線圖
ZooKeeper偽分步式集群安裝及使用 ZooKeeper實現分散式隊列Queue ZooKeeper實現分散式FIFO隊列 HBaseHBase學習路線圖
RHadoop實踐系列之四 rhbase安裝與使用 MahoutMahout學習路線圖
用R解析Mahout用戶推薦協同過濾演算法(UserCF) RHadoop實踐系列之三 R實現MapReduce的協同過濾演算法 用Maven構建Mahout項目 Mahout推薦演算法API詳解 從源代碼剖析Mahout推薦引擎 Mahout分步式程序開發 基於物品的協同過濾ItemCF Mahout分步式程序開發 聚類Kmeans 用Mahout構建職位推薦引擎 SqoopSqoop學習路線圖
CassandraCassandra學習路線圖
Cassandra單集群實驗2個節點 R利劍NoSQL系列文章 之 Cassandra Hadoop課程資源《十節課帶你走進hadoop世界》
《Hadoop從入門上手工作》
《hadoop之DataGuru視頻》
《Hadoop數據分析》
《雲計算hadoop實戰視頻》
《Cloudera Hadoop課程培訓》
《大數據戰略規劃班》謝邀!
作者你的問題看似簡單,卻真的挺複雜的,因為這涉及到的是一個領域,而不是一個細分的知識點,你要是說學習R語言的學習路徑是什麼,回答就更容易了。我個人的建議,是到coursera、EDX等MOOC平台先把基礎知識學全,再去一些在線編程網站上實操,然後還得在崗位上去歷練。
下面這些文章是我根據你問他搜集整理的,希望對大家能夠有幫助。
【薦讀】10本書看懂大數據與大未來【推薦】9個針對初學者的數據科學公開課自學成才的數據科學家告訴你 5個學習大數據的正確姿勢!一文讀懂R語言是什麼鬼這四篇文章或許對你能夠有所幫助,我們數據客的微信後台還有很多類似的文章,但是確實沒有時間來整理,你可以通過歷史記錄查看。我們的微信公眾號ID:idacker 裡面有我個人號直通車,你也可以加我私人號:guziaiqiutian拉進校友群大家一起交流學習,加群的時候請簡單介紹並備註加群。coursera已經出了專項課程了,9月28號開始,組隊學吧~~
想要都進入大數據行業的第一步,是先搞清楚大數據究竟有哪些就業方向。
大數據就業崗位
隨著大數據技術在企業界如火如荼的實踐,企業對組建大數據團隊的迫切程度也也來越高,對與大數據相關高端人才的需求也越來越緊迫,但企業對大數據團隊的組建和角色分配方面缺一直有不小的困惑,到底大數據團隊里應該擁有哪些幾類角色,如何設置崗位?同一類別的角色的專業方向又有哪些分化,不同專業的崗位對技能應該有哪些要求?如何管理大數據團隊成員的職業發展路徑?
為此,ChinaHadoop花費了一年時間調研了先進企業內部設立的大數據部門或團隊的組織結構和職能劃分,在此基礎上,首次提出了企業大數據團隊的崗位劃分,專業分類及定義,以及每個崗位所需的技能及培訓,技能考核對應的能力級別,我們將之統稱為」企業大數據人才崗位技能認證體系「。通過對企業大數據人才崗位進行專業細分,崗位技能認證等級與企業現有技術專業通道形成對應關係,打通員工的職業發展通道,幫助企業逐步完善大數據團隊的組織結構,不斷提高團隊技能,為各崗位及時儲備人才。大數據團隊的角色分類企業大數據團隊的角色分類主要有三個大類別:大數據開發工程師、大數據運維工程師、大數據架構師。總體而言,我們大數據人才劃分為三個大類:一、 大數據開發工程師:圍繞大數據系平台系統級的研發人員, 熟練Hadoop、Spark、Storm等主流大數據平台的核心框架。深入掌握如何編寫MapReduce的作業及作業流的管理完成對數據的計算,並能夠使用Hadoop提供的通用演算法, 熟練掌握Hadoop整個生態系統的組件如: Yarn,HBase、Hive、Pig等重要組件,能夠實現對平台監控、輔助運維繫統的開發。通過學習一系列面向開發者的Hadoop、Spark等大數據平台開發技術,掌握設計開發大數據系統或平台的工具和技能,能夠從事分散式計算框架如Hadoop、Spark群集環境的部署、開發和管理工作,如性能改進、功能擴展、故障分析等。二、 大數據運維工程師:了解Hadoop、Spark、Storm等主流大數據平台的核心框架,熟悉Hadoop的核心組件:HDFS、MapReduce、Yarn;具備大數據集群環境的資源配置,如網路要求、硬體配置、系統搭建。熟悉各種大數據平台的部署方式,集群搭建,故障診斷、日常維護、性能優化,同時負責平台上的數據採集、數據清洗、數據存儲,數據維護及優化。熟練使用Flume、Sqoop等工具將外部數據載入進入大數據平台,通過管理工具分配集群資源實現多用戶協同使用集群資源。三、 大數據架構師:這一角色的要求是綜合型的,對各種開源和商用的大數據系統平台和產品的特點非常熟悉,能基於Hadoop、Spark、 NoSQL、 Storm流式計算、分散式存儲等主流大數據技術進行平台架構設計,負責企業選用軟體產品的技術選型,具體項目中的資料庫設計及實現工作,協助開發人員完成資料庫部分的程序 ,能解決公司軟體產品或者項目開發和運維中與資料庫相關的問題; 及時解決項目開發或產品研發中的技術難題,對設計系統的最終性能和穩定性負責。崗位能力級別定義:1. 初級:具備基本的大數據技術的基礎知識,可以將其視為大數據認證的初學或者入門等級。2. 高級:大數據認證的高級或者熟練等級,表明該人才具備大數據某一專業方向的基本知識和熟練技能。3. 專家:具有業界公認的專業大數據技術知識和豐富工作經驗。
這裡簡單介紹幾種我認為用的比較多的技術,因為我也僅僅是個大數據愛好者,所以有些觀點可能不太標準,建議你對照著看。
一、Hadoop
可以說,hadoop幾乎已經是大數據代名詞。無論是是否贊成,hadoop已經是大部分企業的大數據標準。得益於Hadoop生態圈,從現在來看,還沒有什麼技術能夠動搖hadoop的地位。
這一塊可以按照一下內容來學習:
1、Hadoop產生背景
2、Hadoop在大數據、雲計算中的位置和關係
3、國內外Hadoop應用案例介紹
4、國內Hadoop的就業情況分析及課程大綱介紹
5、分散式系統概述
6、Hadoop生態圈以及各組成部分的簡介
二、分散式文件系統HDFS
HDFS全稱 Hadoop Distributed File System ,它是一個高度容錯性的系統,適合部署在廉價的機器上,同時能提供高吞吐量的數據訪問,非常適合大規模數據集上的應用。為了實現流式讀取文件系統數據的目的,HDFS放寬了一部分POSIX約束。
1、分散式文件系統HDFS簡介
2、HDFS的系統組成介紹
3、HDFS的組成部分詳解
4、副本存放策略及路由規則
5、NameNode Federation
6、命令行介面
7、Java介面
8、客戶端與HDFS的數據流講解
9、HDFS的可用性(HA)
三、初級MapReduce
這是你成為Hadoop開發人員的基礎課程。
MapReduce提供了以下的主要功能:
1)數據劃分和計算任務調度:
2)數據/代碼互定位:
3)系統優化:
4)出錯檢測和恢復:
這種編程模型主要用於大規模數據集(大於1TB)的並行運算。
1、如何理解map、reduce計算模型
2、剖析偽分散式下MapReduce作業的執行過程
3、Yarn模型
4、序列化
5、MapReduce的類型與格式
6、MapReduce開發環境搭建
7、MapReduce應用開發
8、熟悉MapReduce演算法原理
四、高級MapReduce
這一塊主要是高級Hadoop開發的技能,都是MapReduce為什麼我要分開寫呢?因為我真的不覺得誰能直接上手就把MapReduce搞得清清楚楚。
1、使用壓縮分隔減少輸入規模
2、利用Combiner減少中間數據
3、編寫Partitioner優化負載均衡
4、如何自定義排序規則
5、如何自定義分組規則
6、MapReduce優化
五、Hadoop集群與管理
這裡會涉及到一些比較高級的資料庫管理知識,乍看之下都是操作性的內容,但是做成容易,做好非常難。
1、Hadoop集群的搭建
2、Hadoop集群的監控
3、Hadoop集群的管理
4、集群下運行MapReduce程序
六、ZooKeeper基礎知識
ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和性能高效、功能穩定的系統提供給用戶。
1、ZooKeeper體現結構
2、ZooKeeper集群的安裝
3、操作ZooKeeper
七、HBase基礎知識
HBase – Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮的分散式存儲系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化存儲集群。
與FUJITSU Cliq等商用大數據產品不同,HBase是Google Bigtable的開源實現,類似Google Bigtable利用GFS作為其文件存儲系統,HBase利用Hadoop HDFS作為其文件存儲系統;Google運行MapReduce來處理Bigtable中的海量數據,HBase同樣利用Hadoop MapReduce來處理HBase中的海量數據;Google Bigtable利用 Chubby作為協同服務,HBase利用Zookeeper作為對應。
1、HBase定義
2、HBase與RDBMS的對比
3、數據模型
4、系統架構
5、HBase上的MapReduce
6、表的設計
八、HBase集群及其管理
1、集群的搭建過程
2、集群的監控
3、集群的管理
十、Pig基礎知識
Pig是進行Hadoop計算的另一種框架,是一個高級過程語言,適合於使用 Hadoop 和 MapReduce 平台來查詢大型半結構化數據集。通過允許對分散式數據集進行類似 SQL 的查詢,Pig 可以簡化 Hadoop 的使用。
1、Pig概述
2、安裝Pig
3、使用Pig完成手機流量統計業務
十一、Hive
hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用。
1、數據倉庫基礎知識
2、Hive定義
3、Hive體系結構簡介
4、Hive集群
5、客戶端簡介
6、HiveQL定義
7、HiveQL與SQL的比較
8、數據類型
9、表與表分區概念
10、表的操作與CLI客戶端
11、數據導入與CLI客戶端
12、查詢數據與CLI客戶端
13、數據的連接與CLI客戶端
14、用戶自定義函數(UDF)
十二、Sqoop
Sqoop(發音:skup)是一款開源的工具,主要用於在Hadoop(Hive)與傳統的資料庫(mysql、postgresql...)間進行數據的傳遞,可以將一個關係型資料庫(例如 : MySQL ,Oracle ,Postgres等)中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型資料庫中。
1、配置Sqoop
2、使用Sqoop把數據從MySQL導入到HDFS中
3、使用Sqoop把數據從HDFS導出到MySQL中
十三、Storm
Storm為分散式實時計算提供了一組通用原語,可被用於「流處理」之中,實時處理消息並更新資料庫。這是管理隊列及工作者集群的另一種方式。 Storm也可被用於「連續計算」(continuous computation),對數據流做連續查詢,在計算時就將結果以流的形式輸出給用戶。它還可被用於「分散式RPC」,以並行的方式運行昂貴的運算。
1、Storm基礎知識:包括Storm的基本概念和Storm應用
場景,體系結構與基本原理,Storm和Hadoop的對比
2、Storm集群搭建:詳細講述Storm集群的安裝和安裝時常見問題
3、Storm組件介紹: spout、bolt、stream groupings等
4、Storm消息可靠性:消息失敗的重發
5、Hadoop 2.0和Storm的整合:Storm on YARN
6、Storm編程實戰
雖然寫了這麼多,但是仍然知識大數據的知識海洋的一角,希望題主加油!
服務於需求通過bussiness intellegence和machine learning但是是分散式處理
我不是做大數據的,但進入一個新技術領域的學習路徑都類似的
- 初學搜集資料(搜索引擎,在線書店,各種博客),有多少消化多少,不必太在意資料是不是最優最好,方法是不是所謂」合理「,自己能學進去就好
- 一旦理解領域基礎,就要開始試驗,專心一個平台,用具體結果印證所學概念
- 進入熟悉階段以後,可以繼續深入學核心概念和工具,這時候繼續搜集資料,但在選定話題內
- 「熟悉」是一個漫長的過程,這時候把能看的書都看了,一下子看不完的,比如數學,放著需要的時候補
- 然後把知識和實踐拓寬到這個領域的整個生態,獲得真正「全面」的認識
Big Data是近來的一個技術熱點,但從名字就能判斷出來它並不是什麼新詞。畢竟,大匙一個相對概念。歷史上,資料庫、數據倉庫、數據集市等信息管理領域的技術,很大程度上也是為了解決大規模數據的問題。被譽為數據之父的Bill Inmon早在20世紀90年代就經常將Big Data掛在嘴邊了。要處理如此龐大的數據,它的基本流程如下圖。
數據抽取與集成
● 大數據的一個重要特點就是多樣性,這就意味著數據來源極其廣泛,數據類型極為繁雜。這種複雜的數據環境給大數據的處理帶來極大的挑戰。
● 要想處理大數據,首先必須對所需數據源的數據進行抽取和集成,從中提取出關係和實體,經過關聯和聚合之後採用統一定義的結構來存儲這些數據。
● 在數據集成和提取時需要對數據進行清洗,保證數據質量及可信性。
● 現有的數據抽取與集成方式可以大致分為以下四種類型:數據整合、數據聯邦、數據傳播和混合方法等。
數據分析
● 傳統的分析技術如數據挖掘、機器學習、統計分析等在大數據時代需要做出調整,因為這些技術在大數據時代面臨著一些新的挑戰:
1、數據量大並不一定意味著數據價值的增加,相反這往往意味著數據噪音的增多
2、大數據時代的演算法需要進行調整(邦弗朗尼原理)
3、數據量大並不一定意味著數據價值的增加,相反這往往意味著數據噪音的增多
數據解釋
● 數據分析是大數據處理的核心,但是用戶往往更關心結果的展示。如果分析的結果正確但是沒有採用適當的解釋方法,則所得到的結果很可能讓用戶難以理解,極端情況下甚至會誤導用戶。
● 大數據時代的數據分析結果往往也是海量的,同時結果之間的關聯關係極其複雜,採用傳統的解釋方法基本不可行
● 可以考慮從下面兩個方面提升數據解釋能力:
-- 引入可視化技術
-- 讓用戶能夠在一定程度上了解和參與具體的分析過程
然而,Big Data作為一個專有名詞成為熱點,主要應歸功於近年來互聯網、雲計算、移動和物聯網的迅猛發展。無所不在的移動設備、RFID、無限感測器每分每秒都在產生數據,數以億計用戶的互聯網服務時時刻刻在產生巨量的交互……要處理的數據量實在是太長、增長太快了,而業務需求和競爭壓力對數據處理的實時性、有效性又提出了更高要求,傳統的常規技術手段根本無法應付。在這種情況下,技術人員紛紛研發和採用了一批新技術。
01
存儲
存儲分散式緩存、基於MPP的分散式資料庫、分散式文件系統、各種NoSQL分散式存儲方案,內存資料庫等
02
計算
Map Reduce、流計算、圖計算……
03
應用
HIVE,pig,mahout,Sqoop以及ETL工具,統計與報告工具等
下面以Google為例,我們來看看它的技術演進
Google 於2006 年首先提出了雲計算的概念,並研發了一系列雲計算技術和工具。難能可貴的是Google 並未將這些技術完全封閉,而是以論文的形式逐步公開。
正是這些公開的論文,使得以GFS、MapReduce、Bigtable為代表的一系列大數據處理技術被廣泛了解並得到應用,同時還催生出以Hadoop為代表的一系列雲計算開源工具。這些工具有些是完整的處理平台,有些則是專門針對特定的大數據處理應用。
現金一些主流的處理平台和工具就實踐方面來說,Hadoop 已經發展成為目前最為流行的大數據處理平台
Hadoop是一個分散式系統基礎架構,由Apache基金會開發。
Hadoop是一個開源的可運行於大規模集群上的分散式並行編程框架,藉助於Hadoop,程序員可以輕鬆地編寫分散式並行程序,將其運行於計算機集群上,完成海量數據的計算。
Hadoop採用了分散式存儲方式,提高了讀寫速度,並擴大了存儲容量。採用MapReduce來整合分散式文件系統上的數據,可保證分析和處理數據的高效。與此同時,Hadoop還採用存儲冗餘數據的方式保證了數據的安全性。
Hadoop作用Hadoop中HDFS的高容錯特性,以及它是基於Java 語言開發的,這使得Hadoop可以部署在低廉的計算機集群中,同時不限於某個操作系統。Hadoop中HDFS的數據管理能力,MapReduce處理任務時的高效率,以及它的開源特性,使其在同類的分散式系統中大放異彩,並在眾多行業和科研領域中被廣泛採用。
Hadoop功能Hadoop優點●可擴展:不論是存儲的可擴展還是計算的可擴展都是Hadoop的設計根本。
●經濟:框架可以運行在任何普通的PC上。
●可靠:分散式文件系統的備份恢復機制以及MapReduce的任務監控保證了分散式處理的可靠性。(元數據磁碟錯誤,心跳測試,副本數)
●高效:分散式文件系統的高效數據交互實現以及MapReduce結合Local Data處理的模式,為高效處理海量的信息作了基礎準備。
Hadoop生態系統圖
謝謝閱讀!
後面睡覺的同學可以起來了!下課了!下課了!
欲知後事如何,且聽下回分解!
欲知更多詳情,俺老孫等你來約!
8月20日線下分享會,如果你還有疑問,我們會等你~由於知乎排版不給力,這裡只能黏貼節選,完整的請點擊:大數據修鍊之道 - 數據工會。
大數據專家是怎樣煉成的?
由於很少看到學習大數據的知識圖譜,所以這裡斗膽分享一家之言。同時,大數據有很多細分領域,這裡特指通過分散式技術在海量數據中了解並分析過去發生了什麼(what happened)、為什麼會發生(why did it happen)、正在發生什麼(what is happening),而預測將來會發生什麼(what will happen)的高級分析往往基於機器學習和數據挖掘,值得將來獨立成章深入討論,暫且不表。
在成為大數據專家的道路上,往往要經歷六個坎坷,讓我們以六個年級來標明他們。只有戰勝眼前的坎坷,才能升入下一個年級。當然,有些如Doug Cutting或者Jeff Dean等天才同學,無師自通可以連跳好幾級偶爾也是有的。
一年級
第一個年級要學習的是理論。所有想成為大數據專家的人,必須先要閱讀一些經典的大數據理論知識,包括Sch?nberger的《大數據時代》和塗子沛的《大數據》等,只有在積累了大量的理論知識後,你才能跨入下一個年級。但這個年級有一個很特殊的規定,因為有些同學動手能力超強,所以他們可以跳過這個年級直接進入實戰去感悟這些理論。
二年級
第二個年級學習的內容是實踐,也就是用大數據產品完成一些簡單目標。費爾巴哈說過,理論所不能解決的那些疑難,實踐會給你解決。 紙上得來終覺淺,絕知此事要躬行。
三年級
第三個年級學習的內容是實戰,這是極為重要的。那些理論學習中的優秀學生如果不能過這一關,他們就將獲得一個光榮的成就——紙上談兵。
我們來解釋一下為什麼實戰如此重要。雖然大數據理論都是高年級的學長們經驗總結,但他們寫這些東西的時候情況和現狀是不完全一樣的,在實戰中如果照搬是要吃大虧的。作為一個想成為大數據專家的學員,一般都是從項目干起,因為只有項目才能讓一個人成為真正的專家,必須親密與客戶交流澄清需求細節,親手敲打鍵盤架構大數據平台,親身經歷運維不知白晝與黑夜,明白無法交付項目是要餓肚子的,了解不能運維是要挨客戶罵的,他們才會明白什麼是實戰。
大多數學員會在這一關被淘汰,他們會改行,一生當一個大數據票友,這對他們來說並不見得是一件壞事。而留存下來的那些學員,在殘酷的項目實戰中逐漸了解了大數據的規律,開始真正走上專家之路。
四年級
好了,我們帶領剩下的學員來到四年級,四年級需要學習的是結合大數據與雲計算。
雲計算為大數據提供無盡的資源,大數據為雲計算帶來數據服務。大數據與雲計算的關係好比倚天與屠龍,單獨使用已然是神兵利器,結合起來更能得到《九陰真經》、《降龍十八掌》和《武穆遺書》。
雲計算平台上的大數據服務大致分兩種:
- 在雲主機上部署Apache基金會提供的開源大數據軟體,軟體授權費用很低但是需要自行運維。
- 使用雲計算平台提供的託管大數據服務,用起來省心不過遷移相對困難。
當然,有的雲計算平台提供了開源大數據軟體的託管服務,即降低了授權費用又不用操心運維。百度雲天算大數據平台就是一個例子。
這就是四年級學員要做到的。能過這一關的人已經很少了,剩下的精英們,我們繼續前進!
五年級
五年級是最重要的一個年級,在這個年級里,學員們要學習的是判斷。你要明白的是,你所掌握的是項目的成敗,你就是指揮,而所有的人都等著你拿注意。如果你能從那變化莫測的架構和紛繁蕪雜的技術中發現其中的奧妙,並就此做出正確的決斷,那麼恭喜你,你已經具備了大數據專家最主要的素質。
判斷並非無據可依。德國有種智慧,叫做生活是具體的,也就是提倡不要泛泛地談概念,關鍵是要拿出來比一比。歸類後的大數據文獻羅列於斯,對於不同選擇的優缺點瞭然於胸便可以進入下一個階段。
六年級
但是還有一關是你必須通過的,只有過了這一關,你才是真正的大數據專家。那就是,成為大數據產品經理或者大數據架構師,親手打造一款大數據產品!有意者請把簡歷發我,不見不散
找一個願意帶你從0開始的大數據相關的職位,入門之後就可以自己學了
數學,演算法,編程公開課,書本,論文,實踐
一、java編程
二、資料庫(mysql)三、Linux四、hadoop各個組件理論和操作五、實際項目練習我有免費的電子書需要可以私聊我別被hadoop生態圈嚇到了,它就是個大數據的存儲和處理方式 https://zhuanlan.zhihu.com/p/25356155
推薦閱讀:
※大數據,hadoop,spark,mahout的學習路線和需要的基礎知識,以及掌握到什麼程度?
※MapReduce和Spark主要解決哪些方面的問題?
※Spark可以完全替代hadoop嗎?
※為什麼在中國搞不出 Spark 和 Hadoop 這種東西?
※想轉行做大數據技術相關的工作,需要學習語言還是學什麼?