大數據學習計划


轉發文章
作者:勾滿譽
鏈接:https://www.zhihu.com/question/52187221/answer/129439263
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


如果你畢業了, 去個什么公司,應聘個“大數據開發工程師”什么的,我們來看看職位要求是什么:

崗位職責:

1、負責數據分析、監控、安全、風控等平台設計與開發

2、責基於spark平台的用戶行為分析、實時業務數據的開發

3、采用統計分析、數據建模、數據挖掘等方法,提供有價值的數據、模型、算法支持


崗位要求:

1、大學本科學歷,3年及以上相關工作經驗

2、熟悉java/scala的一種開發語言

3、熟悉spark/hadoop生態系統

4、熟悉shell或python腳本

5、有數據挖掘、機器學習方面的項目經驗者優先

6、熟悉Redis、MongoDB、HBase等NOSQL數據庫

7、良好的溝通與技術學習能力,對開源技術充滿熱情


看到沒?


大數據開發一共幾個流程,大概概括起來有:


收集、清洗、數倉(建模)、OLAP、可視化


這里邊:


收集一般的技術是:Kafka、Flume、高性能HTTP開發(可能)、Avro協議(可能)、Thrift協議(可能),取決於所在公司的技術棧。


清洗:Spark、HiveSQL/SparkSQL、MapReduce(已經過時)


存儲:HDFS、Alluxio(分布式內存存儲)、Redis(高速緩存)、mongoDB(文檔型數據庫)...


流式計算:Spark Streaming / Storm


數倉建模:Hive、MongoDB、HBase


OLAP:MySQL(常用),PostgreSQL(GreenPlum)MyCAT(小眾)...


數據可視化:一般來說這活不歸你管, 技術有 echarts.js hicharts.js d3.js ...


看眼花了吧?


其實很好理解, 從上到下就是:數據要怎么存, 數據要怎么查...


你需要學的是:


計算機體系基礎: 內存、CPU、指令、等等這些概念,得有個感覺,不然別人一說,你都不知道咋回事,尷尬了。看《深入理解計算機系統》。


網絡基礎: 這個我還真不知道有什么書, 《TCP/IP詳解》有點深了,不過你有時間,慢慢啃下來挺好, 而且第一本就夠用,書也不厚。


數據庫基礎:RMDBS里的MySQL其實我不推薦,但是這玩意已經爛大街了,是個公司就用,不學也得學。postgreSQL很不錯,但是用的人少。




Java系的語言你必須得會, 重要的就是Java和Scala, Java用來做傳統的開發(你總要寫幾個接口, 這個時候最常用的就是SpringMVC/Mybatis,這倆兄弟玩明白就行了, 但是什么J2EE,什么Hibernate,什么HTML5,跟你一點關系也!沒!有!)。


Scala是我特別推崇的一門語言, 靈活、高效, Java搞懂了就把它也學了,以后寫Spark,甚至用Play寫Web,都很爽。


Python是必學的一門語言, 靈活的腳本, 以后想早點下班回家,少不了它。


Hadoop生態體系你必須得懂, 不需要一個組件一個組件的文檔去看, 先看個大概,知道啥玩意是干啥的, 然后用的時候再去看文檔。 Hadoop想自己裝是有點蛋疼,跟你導師申請個阿里雲幾台機, 慢慢折騰去吧。


哦對了, 你想折騰Hadoop,Linux的基礎必須得學,至少Shell得用的溜溜的,不然hadoop你怎么裝... cd / mv/ cp/ mkdir / chmod / ls / ssh / touch / vim / awk / sed / ifconfig / du / df / 這亂七八糟一大堆命令,一個一個學了吧, linux的各種概念,文件、管道、bash、配置,你得整懂吧?學吧!趁着研究生時間多,短投資大回報!


作為研究生,建議你多看一看機器學習,說到底大數據還是一個“基礎設施”,但要創造價值,還得靠機器學習(數據挖掘的意思就是 機器學習 on 大數據)。


逼逼了這么多,頭緒也比較亂(誰讓我剛起床呢!), 照着我說的這些關鍵詞,一個一個技術的了解吧,哪個不懂盡可以私信我

 
哦對了,買個Mac,linux環境,還能裝b,另外游戲就跟你告別了,你就可以好好學習了。:)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM