2、為集群搭大數(shù)據(jù)環(huán)境(一般公司招大數(shù)據(jù)工程師環(huán)境都已經(jīng)搭好了,公司內(nèi)部會有現(xiàn)成的大數(shù)據(jù)平臺,但我這邊會私下搞一套測試環(huán)境,畢竟公司內(nèi)部的大數(shù)據(jù)系統(tǒng)權(quán)限限制很多,嚴(yán)重影響開發(fā)效率)
3、維護大數(shù)據(jù)平臺(這個應(yīng)該是每個大數(shù)據(jù)工程師都做過的工作,或多或少會承擔(dān)“運維”的工作)
4、數(shù)據(jù)遷移(有部分公司需要把數(shù)據(jù)從傳統(tǒng)的數(shù)據(jù)庫 Oracle、MySQL 等數(shù)據(jù)遷移到大數(shù)據(jù)集群中,這個是比較繁瑣的工作,吃力不討好)
5、應(yīng)用遷移(有部分公司需要把應(yīng)用從傳統(tǒng)的數(shù)據(jù)庫 Oracle、MySQL 等數(shù)據(jù)庫的存儲過程程序或者SQL腳本遷移到大數(shù)據(jù)平臺上,這個過程也是非常繁瑣的工作,無聊,高度重復(fù)且麻煩,吃力不討好)
6、數(shù)據(jù)采集(采集日志數(shù)據(jù)、文件數(shù)據(jù)、接口數(shù)據(jù),這個涉及到各種格式的轉(zhuǎn)換,一般用得比較多的是 Flume 和 Logstash)
7、數(shù)據(jù)處理
7.1、離線數(shù)據(jù)處理(這個一般就是寫寫 SQL 然后扔到 Hive 中跑,其實和第一點有點重復(fù)了)
7.2、實時數(shù)據(jù)處理(這個涉及到消息隊列,Kafka,Spark,F(xiàn)link 這些,組件,一般就是 Flume 采集到數(shù)據(jù)發(fā)給 Kafka 然后 Spark 消費 Kafka 的數(shù)據(jù)進行處理)
8、數(shù)據(jù)可視化(這個我司是用 Spring Boot 連接后臺數(shù)據(jù)與前端,前端用自己魔改的 echarts)
9、大數(shù)據(jù)平臺開發(fā)(偏Java方向的,大概就是把開源的組件整合起來整成一個可用的大數(shù)據(jù)平臺這樣,常見的是各種難用的 PaaS 平臺)
10、數(shù)據(jù)中臺開發(fā)(中臺需要支持接入各種數(shù)據(jù)源,把各種數(shù)據(jù)源清洗轉(zhuǎn)換為可用的數(shù)據(jù),然后再基于原始數(shù)據(jù)搭建起寬表層,一般為了節(jié)省開發(fā)成本和服務(wù)器資源,都是基于寬表層查詢出業(yè)務(wù)數(shù)據(jù))
11、搭建數(shù)據(jù)倉庫(這里的數(shù)據(jù)倉庫的搭建不是指 Hive ,Hive 是搭建數(shù)倉的工具,數(shù)倉搭建一般會分為三層 ODS、DW、DM 層,其中DW是最重要的,它又可以分為DWD,DWM,DWS,這個層級只是邏輯上的概念,類似于把表名按照層級區(qū)分開來的操作,分層的目的是防止開發(fā)數(shù)據(jù)應(yīng)用的時候直接訪問底層數(shù)據(jù),可以減少資源,注意,減少資源開銷是減少 內(nèi)存 和 CPU 的開銷,分層后磁盤占用會大大增加,磁盤不值錢所以沒什么關(guān)系,分層可以使數(shù)據(jù)表的邏輯更加清晰,方便進一步的開發(fā)操作,如果分層沒有做好會導(dǎo)致邏輯混亂,新來的員工難以接手業(yè)務(wù),提高公司的運營成本,還有這個建數(shù)倉也分為建離線和實時的)
想要了解更多關(guān)于大數(shù)據(jù)資訊信息,請關(guān)注中培偉業(yè)李老師二維碼: