最近《福布斯》發表了一篇關于對2018“人工智能、大數據和分析”10大預測的文章中指出,數據工程師即將取代數據科學家的角色,成為炙手可熱的新一代職位。Gil Press寫道,Indeed.com上有13%的崗位是關于數據工程師的,而數據科學家所占的比例還不到1%。
有趣的是,筆者在LinkedIn上查到如亞馬遜和Facebook這樣的領先數據驅動公司發布的數據工程師職位描述。具備數據抽取、轉換、加載(ETL)流程和數據管道建設專業知識的全面了解,豐富的數據倉庫技能,是理想數據工程師的必備和基本素質。
什么是數據工程師?
如果建筑工程涉及到建筑、道路和軌道等物理基礎設施的設計、規劃、建設和管理,數據工程也要應用同樣復雜的數據。
數據工程師計劃、設計、構建和維護一個可靠的體系架構,以確保穩定的清潔和結構化數據流,以便進行進一步分析,并適用于生產環境。
數據工程之所以越來越引人注目,是因為企業被大量非結構化的有價值的商業信息數據所淹沒了。
隨著數據科學家和公民數據科學的統計和編程能力開始激增,管理和維護大量的數據成了他們共同的痛點。分析和構建模型的數據科學家,近80%的時間都花費在查找和清理數據。
數據工程師通過了解企業所需的數據、識別相關的新數據源、提取可用的格式數據,確保數據不出錯并將數據加載到數據科學家和分析師的工作中,從而實現對數據的救援計劃。
數據工程師必備工具集
數據工程師的工作內容常常與數據架構師、數據庫管理員和軟件工程師的工作重疊,這意味著他們需要預先熟悉這些工作的內容。數據架構師或管理員只局限于數據基礎架構的規劃和維護的位置上,但從起源到最終分析展覽的過程中,數據工程師都要參與在內。
因此,數據工程師的技能包括:
* 精通R或Python編程
* 強大的SQL技能
* 基于Hadoop的技術,如MapReduce、Hive和Pig
* ETL和數據倉庫專業知識
除上述以外,數據工程師還應為傳統的ETL過程提供新的重新配置選項。在并行處理方法之后,為復制數據構建數據管道,將其轉移到存儲解決方案上,重新格式化和加入數據。
隨著多條數據流水線開始出現,Airflow和Luigi等開源工作流管理工具可用于創建和監控數據流水線。因此,對這些工具的了解又是一個優勢。數據工程師也可以使用機器學習來自動化數據管道流程。
數據準備 —— 主要標準
數據的清潔度和質量越好,建模的效果越好,這就是從訓練模型中得出的見解。
Urthecast的數據工程師David Bianco解釋說,數據工程師的最終目標是向需要的人提供干凈、可用的數據。這種收集、清理、處理和整合數據的方法被稱為數據準備或數據處理。
數據分析中的兩個主要數據問題。
小(無)或大數據問題:數據工程師應該在公司內外尋找新的數據來源。沒有足夠的數據來源,分析師和數據科學家會很難建立培訓模式。相反,大數據集也可能很難處理,而且“垃圾進,垃圾出”是數據科學中一個殘酷的現實。
雜亂的數據問題:一旦確定了數據源,就需要對元數據進行編目和組織,定義數據提取方法。Airbnb的數據工程師Maxime Beauchemin把數據工程師稱為數據倉庫的“圖書管理員”,他們把凌亂的數據梳理好。相互沖突的術語和不一致的數據會使整個流程變得拖沓。
盡管大多數數據看起來微不足道,但提煉和清洗后的數據卻能產生大價值。
為數據工程師減輕數據準備壓力
數據準備工作可能很乏味,但是如果正確使用了自動化和工具,將會節省不少時間。在R / Python編程方面的專業知識,有助于簡化他們在自動化方面的工作。
數據冠層正在以前所未有的速度擴張,越來越有趣也越來越混亂。數據工程師的職責就是清理混亂的數據生態系統,為所有人提供一個健康的數據集。