1. 程式人生 > >大數據工程師微職位學習分享

大數據工程師微職位學習分享

大數據、數據分析

隨著各行各業的數據量快速增長,無論是從對數據的存儲、分析、處理和挖掘等方面提出了越來越高的要求。IT行業正在逐漸向“DT”行業轉變,未來是以數據為驅動的。所以我認為大數據是未來一個主流方向,了解和學習大數據對我們以後的工作和生活都有一定幫助。

近期我個人學習了大數據工程師微職位這門課,並且已經通過了所有的考核。下面切入正題,分享一下我的學習心得,因為篇幅關系,不涉及具體知識點。

因為這門課是偏大數據分析的,基本上不涉及大數據組件的開發,所以這門課撇開了冗長的java課程。另外,因為涉及到大數據平臺的搭建,需要一定的Linux基礎,而這部分基礎其實可以快速掌握,因此不需要說系統地學完一整套的Linux之後才開始學大數據。當然,如果本身有java或者oracle的基礎的話,學起來是有一定的效率加成的。

1.大數據平臺搭建。我們可以重點掌握Linux的內存結構是怎麽運作的,可以和jvm的特性結合起來。一些文件系統的相關命令參數要熟知,後面可以類比於HDFS。另外,Linux環境變量加載順序和時間配置也需要掌握。

2.MapReduce。大家可以了解它的計算框架,比如MapReduce和YARN的資源調度和處理過程是怎樣的,如何去執行一個MapReduce程序,以及reducer和partitioner等等這些中間過程做了什麽動作。

3.HDFS。有必要去弄明白HDFS分布式文件系統的架構,搞清楚數據和元數據的關系以及安全模式,要去掌握一下HDFS+zookeeper實現HA的方式。hadoop集群的搭建,包括系統準備與初始化

、硬件的選擇、參數配置、集群故障的診斷等,最後可以了解一下HDFS組件的優化。

4.Hbase。可能很多企業不會具體用到Hbase,而這個要視具體場景而定。我們可以先系統的學習概念和一些基礎的操作,同時了解NoSQL以及分布式數據庫的數據模型以及特性,和一些典型應用場景。

5.Flume和Kafka。流式計算我們聽得比較多了,而可能並不清楚具體內容。這裏我們可以去了解流式計算的計算框架,通過實例我們可以比較容易明白flume和kafka如何一起配合來實現一個應用日誌實時分析系統,同時我們在學習spark streaming的時候也可以去類比和Storm/Flink真正的流式計算的區別在哪裏,應用場景和各自的優缺點是什麽。

6.Hive。了解一下hive的產生動機。和傳統sql語句使用上的對比。hive的函數有哪些,有哪些復雜數據類型。怎麽使用hive進行查詢和分析,比如創建庫表,怎麽將hdfs上的數據load到hive裏面查看,怎麽通過sqoop將mysql的數據導入到hive表中等等。需要掌握分區表怎麽使用,怎麽去優化和擴展hive的使用。

7.spark。了解spark sql的出現動機,spark背後的RDD原理。單機版和集群版的部署。RDD、DataFrame和DataSet的關系以及如何演變的。可以重點關註spark程序的運行流程,包括並行處理和數據本地化的概念。最後要掌握spark性能優化的常用方法廣播變量和累加器。

8.數據科學和機器學習。這裏還是需要一定的統計學、概率論、線性代數等數學基礎。可以掌握機器學習裏面的3C,推薦系統的原理等,如何通過spark的組件spark Mlib去輔助推薦系統等。這裏你會真切感受到學好數學多麽地重要...

建議大家邊學習邊做筆記,要不然知識點太分散不容易記住。然後演示中的操作自己多動手實踐,畢竟數據分析還要多動手才能鞏固。另外,很多知識點的修行還要靠個人的持續才行,畢竟更新速度都比較快,不能完全依賴老師的講解,最好是去多去看看官方文檔,多了解新舊特性和應用場景。

寫得比較粗糙,希望能給大家的學習帶來那麽一點兒的助攻~最後,祝大家學習完這門課程都能有所收獲~~

本文出自 “BDA” 博客,請務必保留此出處http://battosai.blog.51cto.com/5422422/1962958

大數據工程師微職位學習分享