<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          轉(zhuǎn)行大數(shù)據(jù) 1 個(gè)月,我麻了。。。

          共 2777字,需瀏覽 6分鐘

           ·

          2022-06-30 21:09

          大家好,我是魚皮。因?yàn)榉N種原因,最近我接手了組內(nèi)部分大數(shù)據(jù)開發(fā)工作,對(duì)我來說是一個(gè)幾乎完全陌生的領(lǐng)域;大學(xué)雖然也自學(xué)過,但也都是淺嘗輒止,面對(duì)企業(yè)項(xiàng)目還是有點(diǎn)虛的,所以最近抽了很多時(shí)間在自學(xué)大數(shù)據(jù),很少寫文章了。

          現(xiàn)在算下來做大數(shù)據(jù)工作也一個(gè)多月了,今天給大家分享一下我從后臺(tái)開發(fā)無縫轉(zhuǎn)行到大數(shù)據(jù)的學(xué)習(xí)過程、工作心得、以及自己對(duì)后臺(tái)和大數(shù)據(jù)這兩個(gè)崗位的看法。

          自學(xué)過程

          其實(shí)工作中很難有機(jī)會(huì)利用上班時(shí)間去學(xué)習(xí),感覺會(huì)有種摸魚的負(fù)罪感。而且雖然說我接手了大數(shù)據(jù)的工作,但并不是說就不做后臺(tái)開發(fā),我還要接著維護(hù)之前負(fù)責(zé)的系統(tǒng)。所以基本只能下班后每天擠時(shí)間學(xué)一會(huì)兒,周末再多一點(diǎn)。

          在工作中學(xué)習(xí)的心態(tài)和在學(xué)校那會(huì)兒還是很不一樣的。在學(xué)校的時(shí)候時(shí)間多,一套教程能完整看完,看完后還能自己再做點(diǎn)兒東西;但在工作中學(xué)習(xí)有點(diǎn)趕鴨子上架,需求已經(jīng)排給你了,不能拖延。

          所以接手工作第一天就直接上手看代碼,我就看別人怎么寫,然后復(fù)制粘貼過來自己修改一下,能運(yùn)行就問題不大。但是你不知道別人為什么要這么寫,所以哪里看不懂呢我就去網(wǎng)上查、零零散散學(xué)一點(diǎn),下班再看教程把這些知識(shí)串起來。

          看教程的時(shí)候我也全程 1.5 倍速,忽略了像環(huán)境搭建、課后練習(xí)之類的章節(jié)(工作中環(huán)境別人都搭好了、做需求本身就是練習(xí)嘛)更多的是去了解框架的原理和開發(fā)經(jīng)驗(yàn),比如 Spark 的任務(wù)提交流程、Shuffle 過程、調(diào)優(yōu)手段等等。因?yàn)樽约河浶员容^差吧,所以也整理了下自學(xué)筆記。

          星球資料庫(kù)

          我個(gè)人感覺如果已經(jīng)有一定開發(fā)經(jīng)驗(yàn)了,用這種帶著目的去方式學(xué)習(xí)可能會(huì)更快一點(diǎn)。就比如你想做一個(gè)聊天軟件,那你可以針對(duì)性地去學(xué)即時(shí)通訊相關(guān)的技術(shù)。工作之后,我學(xué)新技術(shù)時(shí)也會(huì)思考能否運(yùn)用到自己的項(xiàng)目中。

          工作心得

          記得我在學(xué)校第一次學(xué)大數(shù)據(jù)的時(shí)候感覺這東西老牛逼了,但實(shí)際工作后發(fā)現(xiàn),并沒有我想的那么復(fù)雜和高深,只是換了一種搬磚的方式而已。。。因?yàn)楝F(xiàn)在拜這個(gè) Spark SQL 之類的牛逼框架所賜,實(shí)際工作就是根據(jù)需求寫 SQL 跑數(shù)據(jù),說白了就是 SQL Boy。而且有一些優(yōu)秀的產(chǎn)品懂 SQL,他直接在需求文檔上就把你需要的 SQL 寫好了,你甚至都不用思考邏輯,就復(fù)制粘貼 SQL 到代碼里就行。

          有同學(xué)會(huì)說大數(shù)據(jù)開發(fā)還要建設(shè)數(shù)倉(cāng)、搞分層、搞資源的分配,但問題是等我接手開發(fā)的時(shí)候,前人都已經(jīng)把這些建設(shè)好了呀。就跟造車一樣,別人把車殼子都搭好了,我在車底擰螺絲不就行了么?

          雖然聽我描述挺簡(jiǎn)單,但自從做了大數(shù)據(jù)開發(fā)后,我下班時(shí)間會(huì)比平時(shí)更晚。不是因?yàn)殚_發(fā)很難,而是因?yàn)檎{(diào)試程序麻煩、很費(fèi)時(shí)間。

          因?yàn)樯赌兀?/p>

          首先要計(jì)算的數(shù)據(jù)量非常大,很多任務(wù)基本都是要 幾千核 CPU、幾個(gè) T 的內(nèi)存去計(jì)算幾個(gè)小時(shí)才能完成;還有就是每個(gè)組的資源是有限的,就分給你那些 CPU 和內(nèi)存,資源不夠你自己想辦法。

          想起之前一些同學(xué)的吐槽:說什么 SQL 竟然能運(yùn)行超過 1 分鐘?對(duì)大數(shù)據(jù)離線計(jì)算來說,這真的是家常便飯了。

          在這種情況下,先不說我們有足夠的資源去測(cè)試啊,有的時(shí)候線上任務(wù)的資源都不夠,Leader 還經(jīng)常要去借資源。

          所以我們每個(gè)大任務(wù)什么時(shí)候執(zhí)行都得安排好,上午跑 A、下午跑 B。想要調(diào)試呢,就只能見縫插針,比如我中午吃飯前,看看現(xiàn)在資源利用率沒那么滿,我就趕緊跑個(gè)測(cè)試任務(wù),觀察一下;晚上睡覺前,看看這會(huì)兒其他同事沒跑任務(wù),那我趕緊測(cè)試,還得熬夜觀察一下。大家誰要跑大任務(wù)的測(cè)試之前,最好在群里打個(gè)招呼:這個(gè)集群我占用了,大家先等會(huì)兒。

          當(dāng)然我們也一直在對(duì)任務(wù)進(jìn)行優(yōu)化,不斷地緩解上面這些情況。不過目前感覺我還是經(jīng)驗(yàn)不足,很多時(shí)候都是 Leader 找到了優(yōu)化思路,然后我按他的思路去改代碼。所以還是得持續(xù)學(xué)習(xí)吧。

          下班晚還有一個(gè)原因就是跨語言開發(fā)的成本。我之前寫 Java 比較多,現(xiàn)在開發(fā)大數(shù)據(jù)用 Scala 和 Python,我就對(duì)自己很不自信了。比如有一次看到同事之前在代碼中寫了個(gè) if 1 == 1 ,于是我復(fù)制粘貼的時(shí)候也把這個(gè) 1 == 1 一起站過來了,都不敢刪掉,生怕出什么問題。后來問同事說可能是當(dāng)時(shí)為了測(cè)試方便吧,把 1 改成 0 就可以忽略底下那部分代碼,像這樣:

          if 1 == 0:
            do_something()

          這樣就不用把代碼注釋掉了。

          優(yōu)雅,太優(yōu)雅了?。ㄓ靡粋€(gè)變量來判斷感覺會(huì)更可讀一些)

          后臺(tái) VS 大數(shù)據(jù)

          都說隔行如隔山,我卻覺得后臺(tái)和大數(shù)據(jù)開發(fā)有很多相似之處。比如:

          • 都是寫代碼、都可以復(fù)制粘貼
          • 都需要明確需求、都側(cè)重于理解邏輯
          • 開發(fā)流程基本一致,都要測(cè)試驗(yàn)證后再上線
          • 都需要比較強(qiáng)的 SQL 能力
          • 都注重時(shí)間、空間、穩(wěn)定性的優(yōu)化等等

          也有很多同學(xué)問我啊,比較糾結(jié)大數(shù)據(jù)和后臺(tái)開發(fā)選哪個(gè),這兩個(gè)工作體驗(yàn)下來,我還是更傾向于后臺(tái)開發(fā)的,感覺個(gè)人發(fā)揮和思考的空間會(huì)多一些。

          個(gè)人感覺大數(shù)據(jù)開發(fā)有一點(diǎn)點(diǎn)機(jī)械,從需求和實(shí)現(xiàn)上來看,基本都比較明確,產(chǎn)品要這些字段,你就給我寫 SQL 輸出這些字段,做完不會(huì)有太大的成就感;從技術(shù)上看,很多東西框架都幫你搞定了,調(diào)優(yōu)方法也相對(duì)比較固定,要想自己大刀闊斧改造幾乎是不可能的,除非你學(xué)的很深很深,導(dǎo)致大多數(shù)同學(xué)要么是 SQL Boy 要么是 SQL 之父(大牛)。

          但后臺(tái)開發(fā)的變數(shù)可能更多一些,你有機(jī)會(huì)去擴(kuò)展需求、提出見解,也可以設(shè)計(jì)不同的方案去實(shí)現(xiàn)需求,和產(chǎn)品一起把系統(tǒng)做的更好,會(huì)有一種積累帶來的成就感;從技術(shù)上來看,后端相關(guān)的技術(shù)多種多樣,數(shù)據(jù)庫(kù)、緩存、隊(duì)列、網(wǎng)關(guān)等等,你有很多的學(xué)習(xí)空間,而且每學(xué)一個(gè)知識(shí)基本都是有機(jī)會(huì)運(yùn)用的,可以逐步提升。

          當(dāng)然無論你選哪個(gè)工作,都要持續(xù)提升知識(shí)廣度、思維深度、認(rèn)知高度,多站在上層、宏觀的角度去看待問題,而不要只滿足于在車底擰螺絲吧。共勉!



          總之我覺得有機(jī)會(huì)嘗試不同的工作還是挺好的,我也又復(fù)習(xí)了像 Scala、Python 這種語言,拓寬了邊界和視野、積累很多經(jīng)驗(yàn)。學(xué)習(xí)大數(shù)據(jù)的過程中也給了我一些后臺(tái)開發(fā)的思考和啟發(fā),后面給大家分享一下。

          當(dāng)然了,以上只是我自己的感受啊,僅僅是記錄一下,供大家參考,也許我的心態(tài)和看法會(huì)隨著未來的工作而發(fā)生變化吧~

          最近每天我都會(huì)在自己的 編程知識(shí)星球 里寫工作日記,給大家分享工作心得和工作中用到的技術(shù)知識(shí)(已經(jīng)堅(jiān)持快 20 天了)。感興趣的同學(xué)歡迎加入,和 8700 多名小伙伴一起交流學(xué)習(xí)。我每天都在更新星球里的學(xué)習(xí)資料、項(xiàng)目源碼、求職信息,也在持續(xù)回答星球里小伙伴的問題、幫忙修改簡(jiǎn)歷,歡迎大家~ 可以訪問 https://yupi.icu 來了解詳情。

          往期推薦

          Java線程池,10分鐘搞定!

          高端程序員上班摸魚指南

          五分鐘,手?jǐn)]一個(gè)Spring容器!

          我造了個(gè)輪子,完整開源!

          Wow,一個(gè)免費(fèi)、不怕打的評(píng)論插件!

          瀏覽 147
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产性爱免费 | 国产精品一区亚洲一区天堂 | 超碰最新在线观看 | 色秘 乱码一区二区三区在线男奴-百 | 插穴无码|