大數據工程師工作內容取決於妳工作在數據流的哪壹個環節。
從數據上遊到數據下遊,大致可以分為:
數據采集 -> 數據清洗 -> 數據存儲 -> 數據分析統計 -> 數據可視化?等幾個方面
工作內容當然就是使用工具組件(Spark、Flume、Kafka等)或者代碼(Java、Scala等)來實現上面幾個方面的功能。
具體說說吧,
數據采集:
業務系統的埋點代碼時刻會產生壹些分散的原始日誌,可以用Flume監控接收這些分散的日誌,實現分散日誌的聚合,即采集。
數據清洗:
原始的日誌,數據是千奇百怪的
壹些字段可能會有異常取值,即臟數據。為了保證數據下遊的"數據分析統計"能拿到比較高質量的數據,需要對這些記錄進行過濾或者字段數據回填。
壹些日誌的字段信息可能是多余的,下遊不需要使用到這些字段做分析,同時也為了節省存儲開銷,需要刪除這些多余的字段信息。
壹些日誌的字段信息可能包含用戶敏感信息,需要做脫敏處理。如用戶姓名只保留姓,名字用'*'字符替換。
數據存儲:
清洗後的數據可以落地入到數據倉庫(Hive),供下遊做離線分析。如果下遊的"數據分析統計"對實時性要求比較高,則可以把日誌記錄入到kafka。
數據分析統計:
數據分析是數據流的下遊,消費來自上遊的數據。其實就是從日誌記錄裏頭統計出各種各樣的報表數據,簡單的報表統計可以用sql在kylin或者hive統計,復雜的報表就需要在代碼層面用Spark、Storm做統計分析。壹些公司好像會有個叫BI的崗位是專門做這壹塊的。
數據可視化:
用數據表格、數據圖等直觀的形式展示上遊"數據分析統計"的數據。壹般公司的某些決策會參考這些圖表裏頭的數據~
當然,大數據平臺(如CDH、FusionInsight等)搭建與維護,也可能是大數據工程師工作內容的壹部分喔~
希望對您有所幫助!~