大數據開發最核心的課程就是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是降低了進行實時處理的複雜性。
大數據課程大綱 | |||
所處階段 | 主講內容 | 技術要點 | 學習目標 |
第一階段: 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 |
大數據課程大綱 | |||
所處階段 | 主講內容 | 技術要點 | 學習目標 |
第二階段: 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表達式的使用 |
大數據課程大綱 | |||
所處階段 | 主講內容 | 技術要點 | 學習目標 |
第三階段: 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 |
大數據課程大綱 | |||
所處階段 | 主講內容 | 技術要點 | 學習目標 |
第四階段: 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的安裝部署 | ||
項目:實時監測車輛超速項目 | 交通方向的超速頻發路段監控系統,該案例將介紹如何根據實時採集當前道路的狀況,實時計算當前道路的平均速度,通過對比道路的規定限速值,能夠得出某條路段超速的基本情況。這裏的監控跟實時路況還不一樣,主要監控超速頻發路段,而不是全面統計所有路段的交通狀況 |