一、大資料是什麼?
大資料,big data,《大資料》一書對大資料這麼定義,大資料是指不能用随機分析法(抽樣調查)這樣捷徑,而采用所有資料進行分析處理。
這句話至少傳遞兩種資訊:
1、大資料是海量的資料
2、大資料處理無捷徑,對分析處理技術提出了更高的要求
二、大資料的處理流程
下圖是資料處理流程:
1、底層是數以千億計的資料源,資料源可以是SCM(供應鍊資料),4PL(物流資料),CRM(客戶資料),網站日志以及其他的資料
2、第二層是資料加工層,資料工程師對資料源按照标準的統計口徑和名額對資料進行抽取、清洗、轉化、裝載(整個過程簡稱ELT)
3、第三層是資料倉庫,加工後的資料流入資料倉庫,進行整合和存儲,形成一個又一個資料集市。
資料集市,指分類存儲資料的集合,即按照不同部門或使用者的需求存儲資料。
4、第四層是BI(商業智能),按照業務需求,對資料進行分析模組化、挖掘、運算,輸出統一的資料分析平台
5、第五層是資料通路層,對不同的需求方開放不同的資料角色和權限,以資料驅動業務。
大資料的量級,決定了大資料處理及應用的難度,需要利用特定的技術工具去處理大資料。
三、大資料處理技術
以最常使用的Hadoop為例:
Hadoop是Apache公司開發的一個開源架構,它允許在整個叢集使用簡單程式設計模型計算機的分布式環境存儲并處理大資料。
叢集是指,2台或2台以上伺服器建構節點,提供資料服務。單台伺服器,無法處理海量的大資料。伺服器越多,叢集的威力越大。
Hadoop類似于一個資料生态圈,不同的子產品各司其職。下圖是Hadoop官網的生态圖。
Hadoop的LOGO是一隻靈活的大象。關于LOGO的來源,網上衆說紛纭,有人說,是因為大象象征龐
然大物,指代大資料,Hadoop讓大資料變得靈活。而官方蓋章,LOGO來源于創始人Doug Cutting的
孩子曾為一個大象玩具取名hadoop。
從上圖可以看出,Hadoop的核心是HDFS,YARN和Map Reduce,下面和大家講一講,幾個主要子產品的
含義和功能。
1、HDFS(分布式檔案存儲系統)
資料以塊的形式,分布在叢集的不同節點。在使用HDFS時,無需關心資料是存儲在哪個節點上、或者
是從哪個節點從擷取的,隻需像使用本地檔案系統一樣管理和存儲檔案系統中的資料。
2、Map Reduce(分布式計算架構)
分布式計算架構将複雜的資料集分發給不同的節點去操作,每個節點會周期性的傳回它所完成的工作和
最新的狀态。大家可以結合下圖了解Map Reduce原理:
計算機要對輸入的單詞進行計數:
如果采用集中式計算方式,我們要先算出一個單詞如Deer出現了多少次,再算另一個單詞出現了多少次,直到所有單詞統計完畢,将浪費大量的時間和資源。
如果采用分布式計算方式,計算将變得高效。我們将資料随機配置設定給三個節點,由節點去分别統計各自
處理的資料中單詞出現的次數,再将相同的單詞進行聚合,輸出最後的結果。
3、YARN(資源排程器)
相當于電腦的任務管理器,對資源進行管理和排程。
4、HBASE(分布式資料庫)
HBase是非關系型資料庫(Nosql),在某些業務場景下,資料存儲查詢在Hbase的使用效率更高。
關于關系型資料庫和菲關系型資料庫的差別,會在以後的文章進行詳述。
5、HIVE(資料倉庫)
HIVE是基于Hadoop的一個資料倉庫工具,可以用SQL的語言轉化成Map Reduce任務對hdfs資料的查
詢分析。HIVE的好處在于,使用者無需寫Map Reduce任務,隻需要掌握SQL即可完成查詢分析工作。
6、 Spark(大資料計算引擎)
Spark是專為大規模資料處理而設計的快速通用的計算引擎
7、Mahout(機器學習挖掘庫)
Mahout是一個可擴充的機器學習和資料挖掘庫
8、Sqoop
Sqoop可以将關系型資料庫導入Hadoop的HDFS中,也可以将HDFS的資料導進到關系型資料庫中
除上述子產品外,Hadoop還有Zookeeper、Chukwa等多種子產品,因為是開源的,是以未來還有出現更
多更高效的子產品,大家感興趣可以上網了解。
通過Hadoop強大的生态圈,完成大資料處理流程。
在不久的将來,會徹底走入我們的生活,有興趣入行未來人工智能、大資料、雲計算和物聯網的前沿可
以參考學習和基礎知識,讓我們一起攜手,引領人工智能的未來!
大資料的入門路線:
大資料學習路線
第一階段:Linux理論
(1)Linux基礎;(2)Linux-shell程式設計;(3)高并發:lvs負載均衡;(4)高可用反向代理
第二階段:Hadoop理論
(1)hadoop-hdfs理論;(2)hadoop-hdfs叢集搭建;(3)hadoop-hdfs 2.x api ;(4)hadoop-MR理論 ;
(5)hadoop-MR開發分析;(6)hadoop-MR源碼分析 ;(7)hadoop-MR開發案例
第三階段:Hive理論
(1)Hive介紹以及安裝 ;(2)Hive實戰
第四階段:HBase
(1)HBase介紹以及安裝 ;(2)HBase調優
第五階段: redis理論
(1)redis類型 ; (2) redis進階
第六階段:Zookeeper理論
(1)Zookeeper介紹 ;(2)Zookeeper使用
第七階段: Scala文法
(1)Scala文法介紹;(2)scala文法實戰
第八階段: Spark理論
(1)Spark介紹;(2)Spark代碼開發流程 ; (3)Spark叢集搭建;(4) Spark資源排程原理;
(5)Spark任務排程;(6)Spark案例;(7)Spark中兩種最重要shuffle;
(8)Spark高可用叢集的搭建;(9)SparkSQL介紹;(10) SparkSQL實戰 ;
(11)SparkStreaming介紹;(12)SparkStreaming實戰
第九階段:機器學習介紹
(1) 線性回歸詳解; (2)邏輯回歸分類算法; (3)Kmeans聚類算法; (4)KNN分類算法; (5)決策樹 随機森林算法
第十階段:Elasticsearch理論
(1)Elasticsearch搜尋原理; (2) Elasticsearch實戰
第十一階段:Storm理論
(1)Storm介紹以及代碼實戰;(2)Storm僞分布式搭建以及任務部署; (3)Storm架構詳解以及DRCP原理;
(4) 虛拟化理論kvm虛拟化 ; (5) docker
1,_推薦系統理論與實戰項目 Part2
2,推薦系統理論與實戰 項目Part1
3.實時交易監控系統項目(下)
4,實時交易監控系統項目(上)
5,使用者行為分析系統項目1
6,使用者行為分析系統項目2
7,大資料批處理之HIVE詳解
8,ES公開課 part1
9,spark_streaming_
10,資料倉庫搭建詳解
11,大資料任務排程
12,流資料內建神器Kafka
13,Spark 公開課
14,海量日志收集利器:Flume
15,Impala簡介
16,Hive簡介
17,MapReduce簡介
18海量資料高速存取資料庫 HBase
19,淺談Hadoop管理器yarn原理
20,,分布式全文搜尋引擎ElasticSearch Part2
希望可以幫到剛進入大資料行業的你,一起努力學習進步。