定州人民
數(shù)據(jù)工程師都做什么?數(shù)據(jù)工程師負責創(chuàng)建和維護分析基礎(chǔ)架構(gòu),該基礎(chǔ)架構(gòu)幾乎可以支持數(shù)據(jù)世界中的所有其他功能。他們負責大數(shù)據(jù)架構(gòu)的開發(fā)、構(gòu)建、維護和測試,例如數(shù)據(jù)庫和大數(shù)據(jù)處理系統(tǒng)。大數(shù)據(jù)工程師還負責創(chuàng)建用于建模,挖掘,獲取和驗證數(shù)據(jù)集合等流程。數(shù)據(jù)工程師的關(guān)鍵技能下面介紹數(shù)據(jù)工程師所需的幾項關(guān)鍵技能。1.大數(shù)據(jù)架構(gòu)的工具與組件數(shù)據(jù)工程師更關(guān)注分析基礎(chǔ)架構(gòu),因此所需的大部分技能都是以架構(gòu)為中心的。2.深入了解SQL和其它數(shù)據(jù)庫解決方案數(shù)據(jù)工程師需要熟悉數(shù)據(jù)庫管理系統(tǒng),深入了解SQL至關(guān)重要。同樣其它數(shù)據(jù)庫解決方案,例如Cassandra或BigTable也須熟悉,因為不是每個數(shù)據(jù)庫都是由可識別的標準來構(gòu)建。3.數(shù)據(jù)倉庫和ETL工具數(shù)據(jù)倉庫和ETL經(jīng)驗對于數(shù)據(jù)工程師至關(guān)重要。像Redshift或Panoply這樣的數(shù)據(jù)倉庫解決方案,以及ETL工具,比如StitchData或Segment都非常有用。此外,數(shù)據(jù)存儲和數(shù)據(jù)檢索經(jīng)驗同樣重要,因為處理的數(shù)據(jù)量是個天文數(shù)字。4.基于Hadoop的分析(HBase,Hive,MapReduce等)對基于Apache Hadoop的分析有深刻理解是這個領(lǐng)域的一個非常必要的需求,一般情況下HBase,Hive和MapReduce的知識存儲是必需的。5.編碼說到解決方案,編碼與開發(fā)能力是一個重要的優(yōu)點(這也是許多職位的要求),你要熟悉Python,C/C++,Java,Perl,Golang或其它語言,這會非常有價值。6.機器學(xué)習(xí)雖然數(shù)據(jù)工程師主要關(guān)注的是數(shù)據(jù)科學(xué),但對數(shù)據(jù)處理技術(shù)的理解會加分,比如一些統(tǒng)計分析知識和基礎(chǔ)數(shù)據(jù)建模。機器學(xué)習(xí)已經(jīng)成為標準數(shù)據(jù)科學(xué),該領(lǐng)域的知識可以幫我們構(gòu)建同類產(chǎn)品的解決方案。這種知識還有一個好處,就是讓你在這個領(lǐng)域極具市場價值,因為在這種情況下能夠“戴上兩頂帽子”會讓你成為一個更強大的工具。7.多種操作系統(tǒng)最后,需要我們對Unix,Linux和Solaris系統(tǒng)有深入了解,許多數(shù)學(xué)工具基于這些操作系統(tǒng),因為它們有Windows和Mac系統(tǒng)功能沒有的訪問權(quán)限和特殊硬件需求。
大大大吉CQ
??低暿且患覍I(yè)從事視頻監(jiān)控產(chǎn)品研發(fā)、生產(chǎn)和銷售的公司,在行業(yè)內(nèi)有著很高的知名度和聲譽。??低暶嬖嚠a(chǎn)品數(shù)據(jù)工程師,一般要求面試者具備扎實的數(shù)據(jù)結(jié)構(gòu)、算法、數(shù)據(jù)庫等基礎(chǔ)知識,同時要求對于機器學(xué)習(xí)、深度學(xué)習(xí)、大數(shù)據(jù)等相關(guān)技術(shù)有深入的了解和實踐經(jīng)驗。在面試中,面試官可能會針對職位崗位及實際工作需要提出具體的問題,如:如何進行大規(guī)模數(shù)據(jù)的處理、如何設(shè)計一個高效的數(shù)據(jù)庫結(jié)構(gòu)、如何使用機器學(xué)習(xí)/深度學(xué)習(xí)技術(shù)來解決特定領(lǐng)域的問題等。此外,面試官還會對應(yīng)聘者的溝通能力、學(xué)習(xí)能力和團隊協(xié)作能力等方面進行考察。總的來說,??低曌鳛閲鴥?nèi)領(lǐng)先的企業(yè),注重挖掘和培養(yǎng)人才,面試產(chǎn)品數(shù)據(jù)工程師一般要求較高,但也會提供相應(yīng)的培訓(xùn)和發(fā)展機會,如果你有扎實的理論基礎(chǔ)和實踐經(jīng)驗,并且具備良好的團隊協(xié)作能力和學(xué)習(xí)能力,那么就有機會在??低曔@樣的企業(yè)中展現(xiàn)自己的能力并得到相應(yīng)的職業(yè)發(fā)展。
歪歪悠愛福喔
1 維護大數(shù)據(jù)平臺(這個應(yīng)該是每個大數(shù)據(jù)工程師都做過的工作,或多或少會承擔“運維”的工作)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)限限制很多,嚴重影響開發(fā)效率)3 寫 SQL (很多入職一兩年的大數(shù)據(jù)工程師主要的工作就是寫 SQL )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ù)處理 離線數(shù)據(jù)處理(這個一般就是寫寫 SQL 然后扔到 Hive 中跑,其實和第一點有點重復(fù)了) 實時數(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ù)倉也分為建離線和實時的)總之就是離不開寫 SQL ...
優(yōu)質(zhì)工程師考試問答知識庫