大資料學習之路

來源:互聯網
上載者:User

標籤:style   http   io   ar   color   os   使用   sp   for   

http://www.chinahadoop.cn/page/developer

什麼是大資料開發師?

圍繞大資料系平台系統級的研發人員, 熟練Hadoop、Spark、Storm等主流大資料平台的核心架構。深入掌握如何編寫MapReduce的作業及作業流的管理完成對資料的計算,並能夠使用Hadoop提供的通用演算法, 熟練掌握Hadoop整個生態系統的組件如: Yarn,HBase、Hive、Pig等重要組件,能夠實現對平台監控、輔助營運系統的開發。

通過學習一系列面向開發人員的Hadoop、Spark等大資料平台開發技術,掌握設計開發大資料系統或平台的工具和技能,能夠從事分散式運算架構如Hadoop、Spark群集環境的部署、開發和管理工作,如效能改進、功能擴充、故障分析等。

Follow the developer path:

1、《hadoop大資料平台基礎》

  • 學習編寫生產環境所需的mapreduce程式
  • 掌握真實資料分析所需的進階API

第1周 Hadoop生態系統概述以及版本演化
概要介紹Hadoop生態系統及其版本演化曆史,並給出hadoop版本選擇建議。

第2周 HDFS 2.0 原理、特性與基本架構
介紹HDFS 2.0原理與架構,並與HDFS 1.0進行對比。介紹HDFS 2.0新特性,包括快照、緩衝、異構儲存架構等

第3周 YARN應用情境、基本架構與資源調度
介紹YARN是什麼、基本原理與架構,並剖析其調度策略。

第4周 MapReduce 2.0基本原理與架構
介紹計算架構MapReduce基本原理與架構

第5周 MapReduce 2.0編程實踐(涉及多語言編程)
手把手介紹如何用java、C++、php等語言編寫MapReduce程式

第6周 HBase應用情境、原理與基本架構
介紹HBase應用情境、原理和架構

第7周 HBase編程實踐(涉及多語言編程)
手把手介紹如何用Java、C++、Python等語言編寫HBase用戶端程式。

第8周 HBase案例分析
介紹幾個HBase典型應用案例,包括互連網應用案例和銀行應用案例。

第9周 Zookeeper部署及典型應用
介紹Zookeeper是什麼,在hadoop生態系統中的地位

第10周 Hadoop資料入庫系統Flume與Sqoop
介紹如何使用flume和sqoop兩個系統將外部流式資料(比如網站日誌,使用者行為資料等)、關係型資料庫(比如MySQL、Oracle等)中的資料匯入Hadoop中進行分析和挖掘

第11周 資料分析系統Hive與Pig應用與比較
介紹如何使用hive和pig分析hadoop中的海量資料

第12周 資料採礦工具包Mahout
介紹如何使用mahout提供的資料採礦和機器學習演算法進行海量資料採礦

第13周 工作流程引擎Oozie與Azkaban應用
介紹如何使用Oozie和azkaban對MapReduce作業、Pig/hive作業等進行統一管理和調度

第14周 兩個綜合案例:日誌分析系統與Machine Learning Platform for AI
介紹兩個典型的互連網應用案例,進一步深入領悟hadoop生態系統中各個系統的應用情境和解決實際問題的方式。

2、《大資料前置課程系列--scala》

  • 學習spark之必備,一種新型的oop的程式設計語言
  • 掌握在物件導向的編程中使用函數式編程理念

第一周 Scala基礎

                      • 值與變數的聲明
                      • 常用類型簡介
                      • 函數與方法的定義與使用
                      • 條件運算式
                      • 迴圈及進階for迴圈使用
                      • lazy值
                      • 預設參數、帶名參數及變長參數
                      • 異常處理
                      • 數組相關操作
                      • Map操作

第二周 Scala物件導向編程

                      • 類定義
                      • 類的屬性
                      • 主構造器
                      • 輔助構造器
                      • object對象
                      • apply方法
                      • 類的繼承
                      • 方法重寫與欄位重寫
                      • 抽象類別
                      • trait
                      • 包的定義與使用
                      • 包對象定義與使用
                      • 檔案訪問

第三周 Scala函數式編程

                    • 高階函數的定義
                    • 值函數
                    • 匿名函數
                    • 閉包
                    • SAM與Curry
                    • 高階函數樣本
                    • 集合簡介
                    • 序列
                    • 可變列表與不可變列表
                    • 集合操作
                    • case class
                    • 模式比對

第四周 Scala進階編程

                      • 泛型類
                      • 泛型函數
                      • Lower bounds 與 Upper bounds
                      • View bounds
                      • Context bounds
                      • 協變與逆變
                      • 隱式轉換
                      • 隱式參數
                      • 隱式類

3、《spark大資料平台基礎》

  • 學習基於記憶體的批式和流式資料分析方法
  • 掌握最佳化應用程式,達到快速、易用的目的

第一周 Spark生態系統概述與編程模型

    • Spark生態系統概述
    • 回顧Hadoop MapReduce
    • Spark運行模式
    • RDD
    • Spark運行時模型簡介
    • 緩衝策略介紹
    • transformation
    • action
    • lineage
    • 容錯處理
    • 寬依賴與窄依賴
    • 叢集配置


第二周 深入Spark核心

    • Spark術語解釋
    • 叢集概覽
    • 核心組件
    • 資料本地性
    • 常用RDD
    • 任務調度
    • DAGScheduler
    • TaskScheduler
    • Task細節
    • 廣播變數
    • 累加器
    • 效能調優


第三周 Spark Streaming原理與實踐

    • DStream
    • 資料來源
    • 無狀態transformation與有狀態transformation
    • checkpoint
    • 容錯
    • 效能最佳化


第四周 Shark原理與實踐

    • 資料模型
    • 資料類型
    • Shark架構
    • Shark部署
    • 緩衝(分區)表
    • SharkServer
    • Shark與Spark結合


第五周 Machine Learning on Spark

    • LinearRegression
    • K-Means
    • Collaborative Filtering


第六周 Spark多語言編程

    • Python簡介
    • PySpark API
    • 使用Python編寫Spark程式
    • Spark with Java


第七周 Spark SQL

    • 架構與執行個體
    • Parquet支援
    • DSL
    • SQL on RDD


第八周 圖計算GraphX

    • 現存的圖計算架構
    • Table Operators
    • Graph Operators
    • GraphX設計


第九周 Spark on Yarn

    • Spark on Yarn原理
    • Spark on Yarn實踐


第十周 JobServer

        • 整體架構
        • API介紹
        • 配置與部署

4、《Hadoop進階》

  • 深入學習mapreduce及其作業調試、最佳化方法
  • 深度掌握hdfs及系統級的營運、效能最佳化方法

第一部分. MapReduce

Mapreduce工作流程及基本架構回顧

營運相關

    • 參數調優
    • benchmark
    • reuse jvm
    • 錯誤感知及speculative執行
    • task日誌分析
    • 可容忍錯誤百分比設定及跳過壞記錄
    • 選擇fairescheduler等其他調度器最佳化效能

開發相關

    • 資料類型選擇
    • 實現自訂writable資料類型、自訂key
    • 一個mapper中輸出不同類型value
    • InputFormat/OutputFormat,原理及定製
    • Mapper/Reducer/Combiner,Combiner的使用及其對mapreduce架構最佳化的作用
    • Partitioner定製
    • 排序策略GroupingComparator/SortComparator
    • 任務調度原理及修改方法(案例,map/reduce共用slot,按標識精準map/reduce調度)
    • Streaming
    • DistributedCache
    • mapreduce任務間依賴
    • counter
    • JobChild參數設定
    • 效能最佳化

 

第二部分. hdfs

HDFS API

fuse(C API)

壓縮

HDFS benchmark

Datanode添加及刪除

多盤支援,磁碟錯誤感知

hdfs raid

HDFS block size設定相關問題

檔案備份數設定

HDFS中合并檔案

 

第三部分. Hadoop工具

dfsadmin/mradmin/balancer/distcp/fsck/fs/job

監控及警示

hadoop組態管理

 

第四部分. Hadoop調試

Log

本地模式調試map/reduce任務

遠端偵錯

 

第五部分. 問題分析

Java GC介紹及java進程常用的分析工具jstat、jhat、jmap

top/iostat/netstat/lsof等

Jstack/kill -3

Strace

nload/tcpdump

 

第六部分.分析樣本

MapReduce簡單分析

用MapReduce實現Group-by

用MapReduce實現倒排索引

MapReduce實現長條圖

MapReduce實現Join

 

5、《Hbase進階》

  • 學習針對海量資料集設計合理的Schema
  • 掌握Hbase效能最佳化方法和使用情境

 

6、《SQL on hadoop》

  • 學習Hive SQL解析與效能最佳化,Impala任務產生等
  • 掌握使用SQL on hadoop構建資料開放平台

7、《Hadoop/Spark公司專屬應用程式實戰》

  • 學習生產系統中應用Hadoop、Spark的使用方法
  • 掌握與現有企業BI平台整合的解決方案

 

大資料學習之路

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.