學習大數據必須瞭解的大數據開發課程大綱

大數據開發最核心的課程就是Hadoop框架,幾乎可以說Hadoop就是大數據開發。這個框架就類似於Java應用開發的SSH/SSM框架,都是Apache基金會或者其他Java開源社區團體的能人牛人開發的貢獻給大家使用的一種開源Java框架。

Java語言是王道就是這個道理,Java的核心代碼是開源的,是經過全球能人牛人共同學習共同研發共同檢驗的,所以說Java是最經得住檢驗的語言,而且任何人都可以學習Java核心技術並且使用核心技術開發出像android一樣的系統和Hadoop一樣的框架。如果把編程的世界比作一棵樹,那麼Java是根,SSH和Hadoop這樣的框架都是它開得枝散得葉。大數據學習羣870097548

由於大數據開發工程師是目前IT培訓界最熱門的專業,大數據技術人才是引領智能革命的弄潮兒,是智能時代最直接的受益者,這麼重要的專業科多一定要給大家講解的詳細透徹,以Hadoop生態圈爲主,介紹目前大數據應用級開發工程師在工作當中所用到的全部技術,建議大家在學習大數據開發工程師專業之前,要有一定的Java基本語法和框架的學習經驗。

科多大數據的零基礎課程包含java+大數據開發兩個部分,提高課程針對有java開發經驗的朋友只包含大數據部分。因爲根據前面的介紹你應該知道了,大數據的學習是需要一定的java基礎的。

開源的Hadoop大數據開發平臺

hadoop是一個能夠對大量數據進行分佈式處理的軟件框架,hadoop以一種可靠、高效、可伸縮的方式進行數據處理,用戶之所以可以輕鬆的在hadoop上開發和運行處理海量數據的應用數據,是因爲hadoop具有高可靠性、高擴展性、高效性、高容錯性等優點。

hadoop大數據生態系統:

 


分佈式文件系統-HDFS

提起hadoop文件系統,首先想到的是HDFS(Hadoop Distributed File System),HDFS是hadoop主要的文件系統,是Hadoop存儲數據的平臺,建立在網絡上的分佈式存儲系統。hadoop還集成了其他文件系統,hadoop的文件系統是一個抽象的概念,HDFS只是其中的一種實現。

分佈式計算框架-MapReduce

MapReduce是一種編程模型,是Hadoop處理數據的平臺。用於大規模數據集(大於1TB)的並行運算。概念"Map(映射)「和"Reduce(歸約)」,和它們的主要思想,都是從函數式編程語言裏借來的,還有從矢量編程語言裏借來的特性。它極大地方便了編程人員在不會分佈式並行編程的情況下,將自己的程序運行在分佈式系統上。

分佈式開源數據庫-Hbase

HBase – Hadoop Database,HBase是一個分佈式的、面向列的開源數據庫。適合於非結構化數據存儲,保留數據多個時間段版本。Hbase極大的方便擴展了Hadoop對於數據的處理和應用。

大數據開發平臺模塊生態圈


Hive

Hive是基於Hadoop的一個數據倉庫工具,處理結構化SQL查詢功能。可以將結構化的數據文件映射爲一張數據庫表,並提供簡單的sql查詢功能,可以將sql語句轉換爲MapReduce任務進行運行並提交到集羣上去執行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,不用使用Java編程,十分適合數據倉庫的統計分析。

學習Hive時,對於Hive QL中的DDL和DML就是必須要掌握的基礎;表的定義、數據導出以及常用的查詢語句的掌握是完成大數據統計分析的基礎。學會針對Hive進行編程:使用Java API開操作Hive、開發Hive UDF函數。掌握好Hive部分高級的特性能大大提升Hive的執行效率。在優化過程中可以很好的藉助於執行計劃來進行分析,學習Hive時需要注意Hive性能優化是在生產中的最重要的環節,如何解決數據傾斜是關鍵;梳理清楚Hive元數據各個表之間的關聯關係也能提升對Hive的把握能力。

Zookeeper協調Hadoop生態圈各個模塊共同工作

從英文含義上來看Hadoop是小象,Hive是蜜蜂,pig是豬,Zookeeper是動物管理員。那麼很顯然Zookeeper的作用是分佈式應用程序協調服務,爲各個模塊提供一致性服務的。

數據導入導出框架Sqoop

Sqoop是一款開源的工具,英文含義是象夫,就是餵養大象的人,主要用於在Hadoop(Hive)與傳統的數據庫(mysql、postgresql…)間進行數據的傳遞,可以將一個關係型數據庫中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關係型數據庫中。

學習目標:

1.瞭解Sqoop是什麼、能做什麼及架構 ;

2.能夠進行Sqoop環境部署 ;

3.掌握Sqoop在生產中的使用 ;

4.能夠使用Sqoop進行ETL操作 。

Scala編程開發

Scala是一種函數式面嚮對象語言,類似於RUBY和GROOVY語言,它無縫結合了許多前所未有的特性形成一門多範式語言,其中高層併發模型適用於大數據開發。而同時又運行於JAVA虛擬機之上。

Spark

Spark是目前最流行的大數據處理框架,以簡單、易用、性能卓越著稱。豐富的程序接口和庫文件也使得Spark成爲業內數據快速處理和分佈式機器學習的必備工具。

*擴展技能:

python開發基礎、數據分析與數據挖掘

學習數據挖掘工具Sklearn,熟悉數據挖掘樸素貝葉斯算法和數據挖掘SVM分類算法,並且最終使用Sklearn實現貝葉斯以及SVM算法 。

Storm大數據分佈式實時計算

Storm是分佈式數據處理的框架,Storm可以方便地在一個計算機集羣中編寫與擴展複雜的實時計算,Storm用於實時處理,就好比 Hadoop 用於批處理。如果說MapReduce降低了並行批處理複雜性,Storm是降低了進行實時處理的複雜性。

大數據課程大綱

1.Linux階段

大數據課程大綱
所處階段 主講內容 技術要點 學習目標
第一階段:
Linux階段
系統簡介及其目錄結構 linux(Redhat)操作系統安裝、虛擬機基本操作、終端介紹、linux目錄結構及目錄簡介、linux命令分類、命令格式、常用快捷鍵和如何使用幫助、linux常用命令
此階段可熟練掌握Linux操作統的安裝、配置、相關命令、VIM編輯器、系統管理、服務用和配置,並具有一定的實戰能力。對大數據後期課程打下良好基礎

要求:
1.熟練掌握企業軟件包部署能力,實施工程師必會技能
2.熟練掌握shell編程能力,企業中大數據集羣的資源監控必會技能
3熟練掌握計劃任務編寫能力,企業中自動運行腳本技能,主流大數據平臺每日任務數至少過萬
vim編輯器介紹 vim常用指令、linux用戶用戶組介紹及常用管理命令、用戶權限、權限身份、文件權限介紹、修改文件權限常用命令
修改文件權屬常用命令 權限表示、法linux網絡設置,介紹網卡、修改ip、修改主機名、網卡控制、網絡診斷工具、ping
linux程序介紹、管理方式介紹 rpm包軟件包介紹、rpm包管理常用命令、源碼包介紹、源碼包管理常用命令、源碼包和rpm包的區別介紹、yum介紹、配置yun源本地yum源和網絡yum源、yum安裝命令
磁盤介紹、磁盤分類、磁盤結構 系統啓動流程、磁盤分區類型、 分區類型及各自作用、常用分區工具、磁盤分區常用命令、文件系統介紹和分類、創建文件系統、掛載和卸載、文件系統使用、開機自動掛載、介紹交換分區、創建交換分區
介紹ssh服務、搭建ssh 遠程拷貝、介紹計劃任務、一次性計劃任務常用命令、週期性計劃任務管理命令
apache介紹,搭建論壇 介紹nfs網絡文件系統、搭建和管理nfs網絡文件系統、介紹samba文件共享、搭建samba文件共享服務、文件上傳下載
介紹shell、shell歷史記錄調用 shell變量的申明調用和取消、shell有條件的命令鏈接、shell環境變量、shell實現算術運算、shell標準輸入輸出、重定向標準錯誤、管道命令
編寫shell腳本、正則 條件分支語句if、開關分支語句switch、循環流程控制語句(while、for、do while)、中斷流程控制語句(break)、continue、return

2.Java階段

大數據課程大綱
所處階段 主講內容 技術要點 學習目標
第二階段:
Java階段
java簡介,安裝,基本關鍵字介紹 簡單聊聊java、工具安裝配置、關鍵字、變量、常量、轉義字符、數據類型、2種類型轉換、運算符、運算優先級、語句 此課程主要提高學員的開發能力、對從事大數據開發工作打下堅實的基礎,需要掌握java語言的語言特性,及面像對象等

要求:
1.熟練掌握Java函數調用、排錯、異常 爲日後hadoop、spark開發調用打下堅實基礎
2.熟練掌握文件流管理,hadoop spark中腳本開發中,數據提取,流式處理不用技能
3.熟練掌握Java線程實現與原理,大數據平臺並行技術原理與優化都需要線程基礎
循環流程控制語句 條件分支語句if、開關分支語句switch、循環流程控制語句(while、for、do while)、中斷流程控制語句(break)、continue、return
面向對象 講解面向對象、方法、修飾符、繼承、聚合、依賴
多態、構造函數、重寫、重載 多態、構造函數、重寫、重載、this和super、static、final、內部類學習
抽象類、接口、接口和抽象類 區別、異常、try catch和throws、將項目導成jar包及運行jar包、包
TCP協議 TCP協議概述、三次握手、四次斷開。企業中何時會用到TCP。
數組,排序 一維數組、二維數組、數組初始化、使用數組、常見算法(選擇排序\插入排序\昌泡排序\遞歸)、API幫忙文檔使用說明、String 、StringBuffer、StringBuilder、Math、Date、SimpleDateFormat、Calendar
父類聲明 子類實現、堆棧講解 父類聲明 子類實現、自動裝包和自動拆包、List(ArrayList詳細講解、LinkedList瞭解、Vecto瞭解r)、泛型、增強FOR、動態參數列表、Set(HashSet、TreeSet)、Iterator器遍歷講解、Map(HashMap詳細講解、TreeMap)、內存結構簡單講解(棧\隊列\鏈表)
數據庫、JDBC講解 mysql數據庫安裝、sql基礎講解、JDBC基本操作及相關類講解
線程 講解線程、線程同步及異步、多線程好處、單線程的實現、多線程的實現、線程的使用 、線程生命週期、線程同步安全問題、線程鎖、死鎖、線程常用方法、生產者消費者模型
設計模式、反射、Web 講解設計模式,細說工廠設計模式和單例模式 、反射底層技術解密,實戰講解如何編寫通用的代碼 、web項目的組成、講解JSP頁面組成、B/S模式、MyEclipse與Tomcat、Tomcat部署項目、測試訪問部署的項目、講解tomcat、講解jsp、簡單介紹9大內置對象、詳細講解request、實戰講解登錄功能、EL表達式的使用

3.Oracle階段

大數據課程大綱
所處階段 主講內容 技術要點 學習目標
第三階段:
Oracle階段
oracle入門及oracleDBA日常基本操作 1、主流電商框架講解
2、一步一步在linux環境安裝oracle
3、測試安裝結果
4、dba日常的基礎操作
5、數據庫的開啓關閉
6、SQL初中級細講
7、DDL|DML|DCL
8、各種約束示例
9、高級分析函數及SQL
10、sqlldr數據抽取
11、講解監聽|傳輸文件
12、第三方客戶端安裝及使用
13、參數文件故障
14、修改庫字符集
15、OEM監控
16、手工建庫
此階段完成後能達到大數據平臺前端數據庫的DBA所需技術,如監控,AWR報告,備份,遷移,熱備等技術。同時能具備數據庫開發工程師崗位,如複雜sql的編寫,存儲過程,遊標,觸發器,分析函數等技術的使用

要求:
1.熟練掌握sql開發能力,數據分析、數據挖掘技術中最主流的語言,主流的平臺都支持sql,sql爲王的時代
2.詳細理解數據倉庫設計與原理,爲大數據數據倉庫設計、建模打下堅實基礎,能完成Pb級數據倉庫的設計與建設
3.熟練掌握大數據平臺前端數據庫的管理與排錯
mysqlDBA日常維護操作 1、mysql源碼安裝
2、mysql日常操作
3、權限控制
4、數據備份
oracle內存體系結構詳解 1、oracle體系結構詳講
2、儲存
3、高水位
4、oracle體系結構詳講
5、數據庫啓動、關閉
6、pga
7、進程
8、物理文件文件(控制文件、日誌文件、數據文件)
9、表空間
表的分類詳解 1、常見的表分類及詳解
2、rowid詳解
3、rownum
五、mysqlDBA高級進階
1、mysql高可用集羣介紹
2、一步一步搭建mysqlAB複製
3、講解高可用讀寫分離架構
4、一步一步搭建高可用讀寫分離架構
PL/SQL編程 1、PLSQL介紹
2、存儲過程
3、觸發器
4、序列
5、主鍵自動增加
6、權限角色
7遊標
8、函數
9、程序包
10、oracle hint
11、nohup
12、實戰講解普通錶轉換成分區表
oracleDBA實戰綜合講解一 1、多種手段實現定時任務講解
2、物化視圖
3、sql語句的批量操作
4、spool假脫機操作
5、實戰講解企業的自動抽取數據
6、測試庫的表空間整合
7、表空間基本操作
8、sysaux表空間過高
9、實戰講解一線權限控制
10、通過外部表查看alert日誌
11、實戰講解遠程庫備份數據
12、死鎖和會話阻塞
13、對比表空間下所有對像增長
14、大表的清理
15、數據庫進程過多如何解決
16、實戰講解調優SQL
調優之索引與undo 1、索引詳講 2、undo詳講
oracleDBA高級進階 1、實戰oracle數據庫不同版本升級(10g、11g)
2、solaris搭建並升級庫
3、裸設備
4、數據遷移:導出導入、數據泵、數據深沉
5、Windos環境自動備份數據
6、linux環境自動備份數據、
7、實戰講解廣西移動數據遷移
8、手工備份與恢復
9、rman備份與恢復
10、容災環境實施:DataGuard、goldengate
11、閃回詳講
12、實戰項目講解索引的重要性
13、講解AWR報告
14、ADDM報告
15、如何編寫調優報告
16、查找效率低下的SQL
17、細講RAC、
18、一步一步在linux環境搭建RAC

4.Hadoop階段

大數據課程大綱
所處階段 主講內容 技術要點 學習目標
第四階段:
Hadoop階段
初識hadoop s初識大數據,大數據的起源,GOOGLE的三架馬車:GFS、MapReduce、BigTable,瞭解Hadoop生態圈、實戰Hadoop集羣環境部署:安裝Linux系統虛擬機、安裝配置JDK、配置基本參數、引領安裝Hadoop集羣環境(4學時)、Hadoop框架介紹 此階段課程爲大數據最終課程,對於海量數據的處理來說,hadoop處理工具是我們學習過程中的重點課程,學完此部分課程,學生薪資普遍高達15K

要求:
1.掌握分佈式文件系統,分佈式計算框架map reduce的計算與應用,掌握資源管理器yarn.
2.掌握hadoop生態圈產品的 Flume、Sqoop、zookeeper、Hbases分佈式數據庫等產品Spark
3.掌握實時計算系統Spark,掌握scala編程語言,公司中主流應用。
分佈式文件系統HDFS 分佈式系統介紹,講解分佈式文件系統HDFS,HDFS基本角色精講,特殊角色Secondary NameNode精講、HDFS讀寫流程精講,高可靠的實現(HA)、實戰HDFS命令操作、分佈式文件系統HDFS JAVA API 操作:本地上傳、創建、刪除、重命名文件或目錄
分佈式計算框架Map Reduce MapReduce原理精講、工作流程精講、combiner精講、partition精講、實戰MapReduce詞頻統計WordCount精講、電商平臺用戶訪問Top排名、求最大值、MapReduce編程模型精講:MapReduce類型與格式、剖析MapReduce作業運行機制、shuffle和排序、任務執行與作業調度、:平均值計算、partition編程應用、多文件JOIN操作
數據倉庫Hive Hive基本概念、Hive數據類型和文件編碼、HiveQL:數據定義與數據操作、HiveQL:查詢、視圖和索引、Hive內置函數和UDF
ETL工具Sqoop Sqoop介紹、安裝部署Sqoop、Sqoop使用流程、Sqoop實戰案例
分佈式協調系統Zookeeper 安裝、運行ZooKeeper、ZooKeeper實例、Zookeeper選舉機制、Zookeeper服務、使用ZooKeeper構建應用
列式數據庫HBase HBase分佈式數據庫介紹、HBase的核心功能模塊、HBase的使用場景和經典案例、HBase基本概念、HBase表結構設計、Shell命令行工具、Java客戶端、核心概念、高級特性
消息訂閱分發系統Kafka Kafka介紹、Kafka原理與架構、Kafka使用場景、Kafka的核心概念、Kafka安裝與部署、Kafka文件消費者案例
海量日誌採集系統Flume Flume簡介、Flume安裝、Flume內部原理、Source、Channel、Sink、Flume應用案例
函數式編程Scala Scala基礎、控制結構和函數、數組、映射和元組、Scala中的類、輔助構造器、主構造器、單例對象、伴生對象、apply方法、包與作用域、繼承、抽象類與抽象字段、文件操作、特質、操作符、update方法、提取器、高階函數、柯里化、集合、模式匹配、偏函數
交互式計算框架Spark Spark簡介、生態系統、Spark架構、Spark集羣安裝與部署、Spark開發環境配置、Spark應用案例編程、彈性分佈式數據集、Spark工作機制、Spark I/O機制、Spark通信模塊、Lineage機制、Shuffler機制、Spark SQL運行架構、Spark SQL應用案例、Spark Streaming實時流、GraphX圖計算、MLlib體驗
數據挖掘與R語言 數據挖掘算法介紹、分類、聚類、關聯規則、決策樹、R語言介紹、RStudio安裝、常用R包、R語言實現挖掘算法案例
集羣運維與調優 規劃Hadoop分佈式集羣、管理Hadoop集羣、Hive調優、HBase調優、CDH的安裝部署、HDP的安裝部署
項目:實時監測車輛超速項目 交通方向的超速頻發路段監控系統,該案例將介紹如何根據實時採集當前道路的狀況,實時計算當前道路的平均速度,通過對比道路的規定限速值,能夠得出某條路段超速的基本情況。這裏的監控跟實時路況還不一樣,主要監控超速頻發路段,而不是全面統計所有路段的交通狀況