圳鵬大資料:大學生如何入行大資料行業
國內大資料行業發展的如火如荼,作為網際網路時代新型的產業,大資料行業其實是網際網路和計算機結合的產物,網際網路實現了資料的網路化,計算機實現了資料的數字化,兩者結合賦予了大資料生命力。
對於即將畢業的大學生如何入行大資料行業?成為大資料工程師需要哪些知識呢?圳鵬大資料的工程師為同學們列出了一下所需要學習的詳細資訊和步驟。
一、Hadoop
可以說,hadoop幾乎已經是大資料代名詞。無論是是否贊成,hadoop已經是大部分企業的大資料標準。得益於Hadoop生態圈,從現在來看,還沒有什麼技術能夠動搖hadoop的地位。
這一塊可以按照一下內容來學習:
- Hadoop產生背景
- Hadoop在大資料、雲端計算中的位置和關係
- 國內外Hadoop應用案例介紹
- 國內Hadoop的就業情況分析及課程大綱介紹
- 分散式系統概述
- Hadoop生態圈以及各組成部分的簡介
二、分散式檔案系統HDFS
HDFS全稱 Hadoop Distributed File System ,它是一個高度容錯性的系統,適合部署在廉價的機器上,同時能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。為了實現流式讀取檔案系統資料的目的,HDFS放寬了一部分POSIX約束。
- 分散式檔案系統HDFS簡介
- HDFS的系統組成介紹
- HDFS的組成部分詳解
- 副本存放策略及路由規則
- NameNode Federation
- hdfs 檔案命令列接
- Java介面
- 客戶端與HDFS的資料流講解
- HDFS的可用性(HA)
三、初級MapReduce
這是你成為Hadoop開發人員的基礎課程。
MapReduce提供了以下的主要功能:
1)資料劃分和計算任務排程:
2)資料/程式碼互定位:
3)系統優化:
4)出錯檢測和恢復:
這種程式設計模型主要用於大規模資料集(大於1TB)的並行運算。
- 如何理解map、reduce計算模型
- 剖析偽分散式下MapReduce作業的執行過程
- Yarn模型
- 序列化
- MapReduce的型別與格式
- MapReduce開發環境搭建
- MapReduce應用開發
- 熟悉MapReduce演算法原理
四、高階MapReduce
這一塊主要是高階Hadoop開發的技能,都是MapReduce為什麼我要分開寫呢?因為我真的不覺得誰能直接上手就把MapReduce搞得清清楚楚。
- 使用壓縮分隔減少輸入規模
- 利用Combiner減少中間資料
- 編寫Partitioner優化負載均衡
- 如何自定義排序規則
- 如何自定義分組規則
- MapReduce優化
五、Hadoop叢集與管理
這裡會涉及到一些比較高階的資料庫管理知識,乍看之下都是操作性的內容,但是做成容易,做好非常難。
- Hadoop叢集的搭建
- Hadoop叢集的監控
- Hadoop叢集的管理
- 叢集下執行MapReduce程式
六、ZooKeeper基礎知識
ZooKeeper的目標就是封裝好複雜易出錯的關鍵服務,將簡單易用的介面和效能高效、功能穩定的系統提供給使用者。
- ZooKeeper體現結構
- ZooKeeper叢集的安裝
- 操作ZooKeeper.
七、HBase基礎知識
HBase – Hadoop Database,是一個高可靠性、高效能、面向列、可伸縮的分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集。與FUJITSU Cliq等商用大資料產品不同,HBase是Google Bigtable的開源實現,類似Google Bigtable利用GFS作為其檔案儲存系統,HBase利用Hadoop HDFS作為其檔案儲存系統;Google執行MapReduce來處理Bigtable中的海量資料,HBase同樣利用Hadoop MapReduce來處理HBase中的海量資料;Google Bigtable利用 Chubby作為協同服務,HBase利用Zookeeper作為對應。
- HBase定義
- HBase與RDBMS的對比
- 資料模型
- 系統架構
- HBase上的MapReduce
- 表的設計
八、HBase叢集及其管理
- 叢集的搭建過程
- 叢集的監控
- 叢集的管理.
九、Hive
hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。 其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用。
- 資料倉庫基礎知識
- Hive定義
- Hive體系結構簡介
- Hive叢集
- 客戶端簡介
- HiveQL定義
- HiveQL與SQL的比較
- 資料型別
- 表與表分割槽概念
- 表的操作與CLI客戶端
- 資料匯入與CLI客戶端
- 查詢資料與CLI客戶端
- 資料的連線與CLI客戶端
- 使用者自定義函式(UDF)
十、Sqoop
Sqoop(發音:skup)是一款開源的工具,主要用於在Hadoop(Hive)與傳統的資料庫(mysql、postgresql…)間進行資料的傳遞,可以將一個關係型資料庫(例如 : MySQL ,Oracle ,Postgres等)中的資料導進到Hadoop的HDFS中,也可以將HDFS的資料導進到關係型資料庫中。
- 配置Sqoop
- 使用Sqoop把資料從MySQL匯入到HDFS中
- 使用Sqoop把資料從HDFS匯出到MySQL中
十一、Storm
Storm為分散式實時計算提供了一組通用原語,可被用於“流處理”之中,實時處理訊息並更新資料庫。這是管理佇列及工作者叢集的另一種方式。 Storm也可被用於“連續計算”(continuous computation),對資料流做連續查詢,在計算時就將結果以流的形式輸出給使用者。它還可被用於“分散式RPC”,以並行的方式執行昂貴的運算。
- Storm基礎知識:包括Storm的基本概念和Storm應用 場景,體系結構與基本原理,Storm和Hadoop的對比
- Storm叢集搭建:詳細講述Storm叢集的安裝和安裝時常見問題
- Storm元件介紹: spout、bolt、stream groupings等
- Storm訊息可靠性:訊息失敗的重發
- Hadoop 2.0和Storm的整合:Storm on YARN
- Storm程式設計實戰
如果你想快速的的低成本的進入大資料領域請點選:圳鵬大資料
也可以關注公眾號獲得更多的大資料相關的知識