
步
大數(shù)據(jù)應(yīng)用離不開基礎(chǔ)軟件的支撐,且大部分大數(shù)據(jù)組件部署在Linux操作系統(tǒng)上的用戶空間,也有很多組件也借鑒了Linux操作系統(tǒng)的一些設(shè)計精髓,所以Linux既是大數(shù)據(jù)的強力支撐,也是很多性能問題的支撐者。
同時數(shù)據(jù)庫的相關(guān)知識也是必要的基礎(chǔ),熟悉MySQL數(shù)據(jù)庫的安裝與部署,還有備份和恢復(fù)等都是重點。
所以在部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、通過對Linux操作系統(tǒng)體系結(jié)構(gòu)、服務(wù)管理、包管理、NTP協(xié)議時間服務(wù)器、關(guān)系型數(shù)據(jù)庫理論和MySQL數(shù)據(jù)庫等相關(guān)知識的學(xué)習(xí),
掌握大部分安裝部署Hadoop集群操作系統(tǒng)層面的技能,為后續(xù)搭建Hdoop集群、對比RDBMS與NoSQL數(shù)據(jù)庫打基礎(chǔ)。
2、通過對Linux文件系統(tǒng)、內(nèi)核參數(shù)、內(nèi)存結(jié)構(gòu)、以及Java虛擬機等相關(guān)知識的學(xué)習(xí),為后續(xù)學(xué)習(xí)分布式文件系統(tǒng),Hadoop集群優(yōu)化掃清操作系統(tǒng)層面知識的障礙
第二步
Hadoop由許多元素構(gòu)成。其最底部是HDFS,它存儲Hadoop集群中所有存儲節(jié)點上的文件。HDFS(對于本文)的上一層是MapReduce引擎,通過對Hadoop分布式計算平臺最核心的分布式文件系統(tǒng)HDFS、MapReduce處理過程,以及數(shù)據(jù)倉庫工具Hive和分布式數(shù)據(jù)庫Hbase的介紹,基本涵蓋了Hadoop分布式平臺的所有技術(shù)核心。
還有Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。在大數(shù)據(jù)中也起到一定作用。
本模塊通過學(xué)習(xí)HDFS,YARN(MapReduce)Spark等核心組件,了解Hadoop的基本運行框架。
所以在第二部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、搭建單節(jié)點模擬分布式集群,熟悉HDFS命令;
掌握HDFS體系結(jié)構(gòu),讀寫流程,能dump HDFS元數(shù)據(jù)文件;
理解Flume組件架構(gòu),并能用Flume向HDFS平臺導(dǎo)入文本日志;
2、搭建多節(jié)點、可擴展集群;
部署HDFS HA架構(gòu);
理解并實現(xiàn)Hadoop YARN的多租戶架構(gòu)
掌握Zookeeper組件原理;
掌握Hadoop集群優(yōu)化路徑;
第三步
傳統(tǒng)數(shù)據(jù)倉庫在面對更大規(guī)模數(shù)據(jù)時顯得力不從心,在寄希望于大數(shù)據(jù)平臺時,MapReduce編程門檻讓很多數(shù)據(jù)分析師望而卻步,而Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運行。其優(yōu)點是學(xué)習(xí)成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。
本模塊通過學(xué)習(xí)Hive、Impala等大數(shù)據(jù)SQL分析組件,讓用戶將隱匿在泥沙之下的數(shù)據(jù)價值挖掘出來。
所以在第三部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、安裝部署Hive;
理解Hive架構(gòu)及執(zhí)行原理;
Hive的優(yōu)化(分區(qū)、桶);
Hive SQL語句優(yōu)化;
Hive常見故障診斷
第四步
在上個模塊中,OLAP類型的需求得到了很好的解決方案,即針對數(shù)據(jù)查詢分析的應(yīng)用。但是這些組件對于數(shù)據(jù)的隨機刪改并不擅長。針對此種OLTP類型應(yīng)用,大數(shù)據(jù)生態(tài)系統(tǒng)中有另外一類組件處理這樣的問題,那就是NoSQL家族。這部分將介紹NoSQL的數(shù)據(jù)模型和分類,著重講述代表的HBase。
ZooKeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),,是Hadoop和Hbase的重要組件。它是一個為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。在本部分也會涉及。
所以在第四部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、理解HBase體系結(jié)構(gòu)水平擴展的優(yōu)勢;部署HBase;
設(shè)計HBase表;
2、理解zookeeper在HBase集群中的作用;
掌握HBase Schema設(shè)計注意事項;
理解HBase協(xié)處理器;
掌握HBase備份恢復(fù)步驟;
第五步
SQL語句屬于聲明式編程語言,這種Relational方式擅長處理結(jié)構(gòu)化數(shù)據(jù)。大數(shù)據(jù)的數(shù)據(jù)來源種類繁多,數(shù)據(jù)類型多種多樣,SQL并不能處理所有問題。所以需要用procedural方式,即編程方式處理復(fù)雜多變的數(shù)據(jù)類型和應(yīng)用。本章介紹MapReduce、Spark編程模型,著重講述利用Python在Spark平臺做數(shù)據(jù)轉(zhuǎn)換和分析。
所以在第五部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、能指出Spark組件的產(chǎn)生背景;
掌握Spark與RDD的關(guān)系;
了解RDD使用場景,熟悉RDD操作;使用RDD方法做日志分析;
理解Spark-on-YARN運行原理;
掌握數(shù)據(jù)持久化方法。
2、理解Spark共享變量及使用場景;
在程序中使用廣播變量和累加器;
理解Spark SQL的產(chǎn)生的歷史背景;
創(chuàng)建DataFrame和DataSet;
使用SparkSQL關(guān)聯(lián)結(jié)構(gòu)數(shù)據(jù)與非機構(gòu)化數(shù)據(jù);
能夠利用Spark實現(xiàn)客戶群的分類;
第六步
前面5部分學(xué)習(xí)完畢之后,對于大數(shù)據(jù)平臺的大部分問題,相比大家都會有思路去解決了。系統(tǒng)穩(wěn)定運行之后,就要考慮運行的好不好,快不快。本模塊針對HDFS數(shù)據(jù)、HBase數(shù)據(jù)、實時抓取數(shù)據(jù)加索引,以及Spark Streaming流式處理技術(shù)做重點介紹,為大數(shù)據(jù)處理提速
所以在第六部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、理解Solr Cloud組件架構(gòu)及原理;
掌握MapReduce對靜態(tài)數(shù)據(jù)索引過程;
掌握Flume對實時數(shù)據(jù)索引過程;
理解HBase索引實現(xiàn)原理-協(xié)處理器;掌握HBase Lily對HBase數(shù)據(jù)索引過程;
介紹Cloudera Search
2、了解流式計算的基本概念及分類方式;
掌握Flume、Kafka組件的架構(gòu)及原理;
用Flume、Kafka、Spark Streaming搭建簡單的流式處理應(yīng)用;
使用狀態(tài)保持及滑動窗口等流式計算特性;
第七步
事物的原理和規(guī)律隱藏在紛繁雜亂的數(shù)據(jù)中,如何從數(shù)據(jù)中將他們挖掘出來服務(wù)生產(chǎn)生活,大數(shù)據(jù)的核心價值體現(xiàn)在此。本模塊我們一起學(xué)習(xí)數(shù)據(jù)科學(xué)的數(shù)學(xué)基礎(chǔ)、機器學(xué)習(xí)的算法。因為Spark正在取代MapReduce成為大數(shù)據(jù)平臺數(shù)據(jù)處理的全新引擎,它也使得在大數(shù)據(jù)環(huán)境下高效的運用數(shù)據(jù)科學(xué)成為可能,所以我們著重介紹基于Spark的機器學(xué)習(xí)的實現(xiàn),把握大數(shù)據(jù)的發(fā)展趨勢,步入數(shù)據(jù)科學(xué)的殿堂。
所以在第七部分的學(xué)習(xí)中我們需要達(dá)到以下目標(biāo):
1、掌握數(shù)據(jù)科學(xué)的數(shù)據(jù)基礎(chǔ),掌握統(tǒng)計學(xué)基礎(chǔ)知識。
2、掌握機器學(xué)習(xí)理論;掌握推薦系統(tǒng)和決策系統(tǒng)原理
3、掌握Spark Mllib組件架構(gòu);利用Spark Mllib實現(xiàn)推薦器;.引用常用機器學(xué)習(xí)算法。
選修
1.大數(shù)據(jù)Hadoop生態(tài)系統(tǒng)的組建大部分是java編寫,但95%的企業(yè)是直接使用不會修改組建,所以培訓(xùn)課程包含冗長的java是不科學(xué)的。不過對于Java能做到一點了解還是不錯的。
2.web開發(fā)html及java,只是在大數(shù)據(jù)可視化階段才會用到,并不是大數(shù)據(jù)課程的核心內(nèi)容,所以有需要的同學(xué)再去學(xué)習(xí)吧。
3.R語言具有豐富的統(tǒng)計方法,大多數(shù)人使用R語言是因為其具有強大的統(tǒng)計功能,R語言內(nèi)部包含了許多經(jīng)典統(tǒng)計技術(shù)的環(huán)境。通過對R語言基礎(chǔ)知識的學(xué)習(xí),了解R數(shù)據(jù)分析的通用流程。同時學(xué)習(xí)R語言在Spark計算框架的基本使用方法,可以為實現(xiàn)更強大的數(shù)據(jù)分析打基礎(chǔ)。
4.大數(shù)據(jù)時代需要數(shù)據(jù)開放,同時又需要保障敏感數(shù)據(jù)的安全。企業(yè)如何保障數(shù)據(jù)中心的安全性成為即將面臨的重大課題,所以Hadoop集群的安全機制可以學(xué)習(xí)一下。
同時可以在學(xué)習(xí)路上對照一下下面這張大數(shù)據(jù)知識體系。相信你完成這份學(xué)習(xí)計劃后,任何大數(shù)據(jù)方面的工作都可以勝任。
