1. 程式人生 > >AI時代就業指南:大資料工程師到底應該會什麼?

AI時代就業指南:大資料工程師到底應該會什麼?

大資料領域包含哪些職位?

在大資料行業中有很多領域。通常來說它們可以被分為兩類:

大資料工程

大資料分析

這兩個領域互相獨立又互相關聯。

資料工程涉及平臺和資料庫的開發、部署和維護。大資料工程師需要去設計和部署這樣一個系統,使相關資料能面向不同的消費者及內部應用。對應的職位是大資料開發工程師、ETL工程師、演算法工程師。對應技能為下圖中粉色圈。

在這裡我還是要推薦下我自己建的大資料學習交流qq裙:458345782, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴。

資料分析則是利用資料平臺提供的資料進行知識提取。資料分析包括趨勢、圖樣分析以及開發不同的分類、預測預報系統。對應的職位是資料分析師、資料探勘工程師和資料科學家。對應的技能為下圖中綠色圈。

 

根據領域規劃你的角色?

通常來說,基於你的教育背景和行業經驗我們可以進行如下分類:

教育背景:如電腦科學、數學等

行業經驗:新人、業務專家、計算機工程師等

如果你擅長程式設計技巧並理解計算機如何在網路上運作,而你對數學和統計學沒有太大興趣,在這種情況下,你應該朝著資料工程方向職位努力。

如果你擅長程式設計同時有數學或者統計學的教育背景或興趣,你應該朝著資料分析師職位努力。

如何成為一名大資料工程師?

首先讓我們先了解下大資料工程的日常工作,通常包括兩個方面 – 資料需求以及處理需求。

資料需求

結構:你應該知道資料可以儲存在表中或者檔案中。儲存在一個預定義的資料模型(即擁有架構)中的資料稱為結構化資料。如果資料儲存在檔案中且沒有預定義模型,則稱為非結構化資料。(種類:結構化/非結構化)。

容量:資料的數量。(種類:S/M/L/XL/XXL/流)

Sink吞吐量:系統所能接受的資料速度。(種類:H/M/L)

源吞吐量:資料更新和轉化進入系統的速度。(種類:H/M/L)

處理需求

查詢時間:系統查詢所需時間。(種類:長/中/短)

處理時間:處理資料所需時間。(種類:長/中/短)

精度:資料處理的精確度。(種類:準確/大約)

下面,我們舉個例子說明上述工作內容:

情景

為分析一個公司的銷售表現需要設計一個系統,為此你需要建立一個數據池,資料池來自於多重資料來源,比如客戶資料、領導資料、客服中心資料、銷售資料、產品資料、部落格等。

設計目標:

1. 通過整合各種來源的資料建立一個數據池。

2. 每隔一定時間自動更新資料(在這個案例中可能是一週一次)。

3. 可用於分析的資料(在記錄時間內,甚至可能是每天)

4. 易得的架構和無縫部署的分析控制面板。

資料要求:

結構:大部分資料是結構化的,並具有一個定義了的資料模型。但資料來源如網路日誌,客戶互動/呼叫中心資料,銷售目錄中的影象資料,產品廣告資料等是非結構化的。 影象和多媒體廣告資料的可用性和要求可能取決於各個公司。

結論:結構化和非結構化資料

大小:L或XL(選擇Hadoop)

Sink 吞吐量:高

質量:中等(Hadoop&Kafka)

完整性:不完整

處理要求:

查詢時間:中至長

處理時間:中至短

精度:準確

隨著多個數據源的整合,要注意不同的資料將以不同的速率進入系統。

例如,網路日誌可用高顆粒度連續流進入系統。

基於上述我們對系統要求的分析,我們可以設計的大資料系統如下:

 

那麼,如果要完成上面這樣一個系統,需要掌握的主要技能有哪些呢,為此我們給出一個通用的學習路徑,希望對你有用。

大資料工程師學習路徑

Bash指令碼程式設計:要對linux和bash 指令碼程式設計非常熟悉,這是處理大資料的基本要求。

通用程式語言:大部分大資料技術都是用Java或Scala編寫的。如果你有Java的基礎,可以繼續使用它。但如果你是一個新手,可以選擇Python,很多新的技術都支援python。

雲環境:一個大資料工程師必須適應在雲端環境下部署和開發。嘗試在AWS,softlayer或任何其他雲端供應商上練習小型資料集。

分散式檔案系統:你需要了解一個分散式檔案系統。最流行的分散式檔案系統就是Hadoop分散式檔案系。你還可以學一點Nosql技術。

Mapreuce系統:如果你要處理的資料是靜止的大量資料,學習Pig或Hive其中之一就足夠了。

實時流系統:如果你使用資料流來開發實時或近實時分析系統,那麼要可以選擇Spark或者Storm系統,你需要掌握Kafka開發工具。

機器學習:最後,如果你想往資料科學家方向發展,你需要學習一點機器學習的演算法,如神經網路和深度學習。

在這裡我還是要推薦下我自己建的大資料學習交流qq裙:458345782, 裙 裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴。