大數(shù)據(jù)分析為什么要學(xué)習(xí)命令行?在與大數(shù)據(jù)分析緊密聯(lián)系的計(jì)算機(jī)科學(xué)領(lǐng)域,即使對(duì)于數(shù)據(jù)分析師或大數(shù)據(jù)分析家來(lái)說(shuō),像開(kāi)發(fā)人員一樣控制您的計(jì)算機(jī)也是非常寶貴的資產(chǎn)。Unix命令行界面(CLI;您還將看到它稱為終端或bash,shell等),它使我們能夠執(zhí)行更多操作。
從圖形用戶界面(GUI)切換到CLI可能會(huì)讓人感到不知所措,但是我們?cè)谶@里為您提供幫助!
為了讓您快速入門(mén),以下是一些您應(yīng)該學(xué)習(xí)命令行的原因。
1.命令行技能很受歡迎,薪酬豐厚
根據(jù)2019年Stack Overflow的開(kāi)發(fā)人員調(diào)查,bash / shell(即Linux命令語(yǔ)言解釋器家族)是使用量排名第六的語(yǔ)言,排在Python和R之前。它的薪水也 比Python或R高進(jìn)行調(diào)查。
它在最受歡迎的技術(shù)列表中排名最高(59.5%),在最受關(guān)注的技術(shù)列表中排名較低(40%)。
盡管StackOverflow的調(diào)查涵蓋了各種軟件開(kāi)發(fā)人員和工程師,但命令行對(duì)大數(shù)據(jù)分析家而言尤其重要,因?yàn)?Bash / Shell與 Python,IPython / Jupyter,TensorFlow和PyTorch等大數(shù)據(jù)分析技術(shù)有著密切的聯(lián)系。Python Software Foundation 進(jìn)行的最新Python開(kāi)發(fā)人員調(diào)查也支持這一點(diǎn) 。
2.命令行技能幫助構(gòu)建可重復(fù)數(shù)據(jù)過(guò)程
大數(shù)據(jù)分析家的職責(zé)之一是確保經(jīng)常(每天)定期獲取某些信息。大多數(shù)情況下,以相同的方式獲取,處理和顯示此數(shù)據(jù)。
命令行非常適合此目的,因?yàn)槊钜子谧詣?dòng)化和復(fù)制。
請(qǐng)考慮以下情況:
您的雇主決定投資于數(shù)據(jù)分析。幾位數(shù)據(jù)專業(yè)人員將加入該團(tuán)隊(duì)。您的任務(wù)是確保他們的機(jī)器具備啟動(dòng)所需的一切。
如果可以使用CLI(命令語(yǔ)言解釋器),則可以編寫(xiě)一些腳本來(lái)自動(dòng)安裝,配置和測(cè)試所有內(nèi)容。
如果不能,那么您將不得不求助于GUI并使用相同的鼠標(biāo)并多次在多臺(tái)計(jì)算機(jī)上單擊移動(dòng)。
這只是終端技能如何幫助使大數(shù)據(jù)分析流程更具可擴(kuò)展性和可重復(fù)性的一個(gè)示例。
3.命令行技能使您更靈活
在大數(shù)據(jù)分析領(lǐng)域,您經(jīng)常會(huì)發(fā)現(xiàn),如果可以使用終端而不用依賴于單擊GUI,則可以擁有更大的靈活性。
由于命令行是運(yùn)行其他程序的程序(因此稱為“ shell”),因此程序之間的交互通常更容易在命令行中進(jìn)行調(diào)整。
一旦掌握了命令行命令,編寫(xiě)腳本就相對(duì)容易了,而Shell腳本使構(gòu)建各種數(shù)據(jù)管道和工作流變得更加簡(jiǎn)單。
更廣泛地講,了解如何使用外殼為您提供了與計(jì)算機(jī)交互的第二種選擇。
您隨時(shí)可以根據(jù)需要使用GUI,但是在需要的時(shí)候,命令行可以為您提供更直接的功能和控制。
4.使用文本文件更容易
文本文件是存儲(chǔ)和處理數(shù)據(jù)的最常用方法之一,幾乎任何大數(shù)據(jù)分析項(xiàng)目都將涉及文本文件的某些工作。因此,對(duì)于大數(shù)據(jù)分析家來(lái)說(shuō),能夠快速有效地處理文本文件是一項(xiàng)非常有用的技能。
該外殼程序具有非常強(qiáng)大的文本處理工具,例如 AWK 和 sed,可幫助您熟悉文件并便于數(shù)據(jù)清理。
例如,以下代碼使用AWK來(lái)打印名為的文件的第一和第三列 a_csv_file,其中第二個(gè)字段的值為 AAA教育,并使用逗號(hào)作為字段分隔符。
只需要一行代碼!
5.資源消耗少
當(dāng)您使用有限的計(jì)算資源或僅想最大化速度時(shí),使用命令行實(shí)際上總是比使用GUI更好,因?yàn)槭褂肎UI意味著資源必須專用于呈現(xiàn)圖形輸出。
對(duì)于本地和遠(yuǎn)程工作都是如此。當(dāng)進(jìn)行遠(yuǎn)程連接時(shí),GUI消耗的帶寬要比終端消耗的帶寬大得多。
此外,使用GUI時(shí),潛伏期(即“刺激和響應(yīng)之間的時(shí)間間隔”)會(huì)更長(zhǎng),如果您要控制的鼠標(biāo)落后于實(shí)際動(dòng)作一兩秒,這會(huì)特別令人沮喪。
如果您只是在命令行中鍵入內(nèi)容,則延遲可能會(huì)降低,并且也將更易于處理,因?yàn)槟梢詼?zhǔn)確地知道任意給定時(shí)間的光標(biāo)位置。
6.您需要云的命令行技能
云服務(wù)通常連接到命令行界面并通過(guò)命令行界面進(jìn)行操作。
對(duì)于深度學(xué)習(xí)等更高級(jí)的大數(shù)據(jù)分析工作而言,這尤其重要,在該工作中,本地計(jì)算資源可能不足以完成您想執(zhí)行的任務(wù)。要引用這個(gè) 2018文章Nucleus研究公司:
在去年的研究中,少于10%的[深度學(xué)習(xí)]項(xiàng)目是在內(nèi)部運(yùn)行的。這種趨勢(shì)正在加速,2018年只有4%的項(xiàng)目在內(nèi)部運(yùn)行。
根據(jù)同一篇文章,“當(dāng)今96%的深度學(xué)習(xí)都在云中運(yùn)行。”
如果您對(duì)學(xué)習(xí)深度學(xué)習(xí)等高級(jí)技術(shù)感興趣,則必須具備命令行技能才能有效地將數(shù)據(jù)移入或移出云。
7. Unix Shell技能可以很好地移植到其他Shell
僅有一些流行的shell(bash,zsh,fish,ksh,tcsh,cmd,Windows PowerShell等),它們相似之處多于不同之處,因此可以輕松地在它們之間進(jìn)行切換。
當(dāng)您使用需要某種CLI的在線服務(wù)時(shí),此功能特別有用。另一方面,GUI層出不窮,學(xué)習(xí)一個(gè)GUI并不一定能幫助您學(xué)習(xí)其他GUI。
8.您鍵入的速度可能比單擊速度快
研究 表明,鼠標(biāo)的使用很快就達(dá)到了平穩(wěn)狀態(tài),而鍵盤(pán)的使用盡管學(xué)習(xí)曲線陡峭,但效率更高。
為251位Microsoft Word的有經(jīng)驗(yàn)的用戶提供了一份問(wèn)卷,以評(píng)估他們對(duì)最常見(jiàn)命令的方法選擇。與我們的期望相反,大多數(shù)有經(jīng)驗(yàn)的用戶很少使用高效的鍵盤(pán)快捷鍵,而傾向于使用圖標(biāo)工具欄。
進(jìn)行了第二項(xiàng)研究,以驗(yàn)證鍵盤(pán)快捷鍵確實(shí)是最有效的方法。六名參與者使用菜單選擇,圖標(biāo)工具欄和鍵盤(pán)快捷鍵執(zhí)行了常見(jiàn)命令。鍵盤(pán)快捷鍵是最有效的。
換句話說(shuō):即使您覺(jué)得自己正在通過(guò)GUI快速工作,也很有可能至少對(duì)于某些任務(wù),在命令行中會(huì)更有效率。
9.審核和調(diào)試更容易
由于在命令行上跟蹤所有活動(dòng)非常容易,因此審核和調(diào)試要容易得多。
您可以輕松地查看日志以跟蹤您在外殼程序中執(zhí)行的每個(gè)操作,而如果在使用GUI時(shí)單擊不正確會(huì)導(dǎo)致錯(cuò)誤,則可能沒(méi)有任何記錄。
10. Unix Shell隨處可用
盡管它僅內(nèi)置在Mac和Linux計(jì)算機(jī)上,但Windows用戶仍然可以通過(guò)WSL, Cygwin 和 MinGW之類的工具來(lái)享受樂(lè)趣。
這意味著您在這些課程中學(xué)習(xí)的命令行技能幾乎可以在您遇到的每臺(tái)計(jì)算機(jī)上使用(包括您的個(gè)人計(jì)算機(jī),無(wú)論使用哪種操作系統(tǒng))。
11.命令行比您想象的要簡(jiǎn)單
有一個(gè)誤解,認(rèn)為使用命令行需要您知道數(shù)百條命令。實(shí)際上,盡管有數(shù)百種命令可供使用 ,但您可能僅需要這些命令中的一小部分即可完成大多數(shù)常見(jiàn)的大數(shù)據(jù)分析任務(wù)。
還是不服氣? 我們將為您提供一本偉大的(并且免費(fèi)的)Linux命令行書(shū)的報(bào)價(jià) :
當(dāng)要求我解釋W(xué)indows和Linux之間的區(qū)別時(shí),我經(jīng)常使用玩具比喻。
Windows就像一個(gè)游戲男孩。您去商店買(mǎi)了一個(gè)盒子里所有閃亮的新東西。您將它帶回家,打開(kāi)它,然后使用它。漂亮的圖形,可愛(ài)的聲音。但是,過(guò)了一會(huì)兒,您會(huì)厭倦了隨之而來(lái)的游戲,因此您回到商店購(gòu)買(mǎi)了另一款游戲。這個(gè)循環(huán)不斷重復(fù)。
最后,您回到商店,對(duì)柜臺(tái)后面的人說(shuō):“我想要一款能做到這一點(diǎn)的游戲!” 只是被告知沒(méi)有這種游戲,因?yàn)闆](méi)有“市場(chǎng)需求”。然后你說(shuō):“但是我只需要改變這一件事!” 柜臺(tái)后面的人說(shuō)你不能改變它。游戲全部密封在彈藥筒中。您會(huì)發(fā)現(xiàn)您的玩具僅限于其他人認(rèn)為您需要的游戲。
另一方面,Linux就像世界上最大的Erector Set。您打開(kāi)它,它只是大量零件的集合。有許多鋼制支柱,螺釘,螺母,齒輪,皮帶輪,馬達(dá),以及一些有關(guān)建造內(nèi)容的建議。因此,您開(kāi)始使用它。您建立一個(gè)建議,然后另一個(gè)。
一段時(shí)間后,您會(huì)發(fā)現(xiàn)自己對(duì)制作方法有自己的想法。您不必再去商店,因?yàn)槟呀?jīng)擁有了所需的一切。Erector Set發(fā)揮您的想象力。它可以滿足您的需求。當(dāng)然,您選擇的玩具是個(gè)人的事情,那么您會(huì)覺(jué)得哪種玩具更令人滿意?
想學(xué)習(xí)命令行嗎?
現(xiàn)在,我們已經(jīng)說(shuō)服您學(xué)習(xí)了命令行,請(qǐng)單擊此處以查看我們的入門(mén)命令行課程,這是最近經(jīng)過(guò)重做的兩門(mén)課程之一,它們深入介紹了Python中的Data Analyst 和 Python路徑中的Data Scientist:
1)命令行元素
2)命令行中的文本處理
填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)!怕錢(qián)不夠?可先就業(yè)掙錢(qián)后再付學(xué)費(fèi)! 怕學(xué)不會(huì)?助教全程陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可推薦就業(yè)!
?2007-2022/ m.5wd995.cn 北京漫動(dòng)者數(shù)字科技有限公司 備案號(hào): 京ICP備12034770號(hào) 監(jiān)督電話:010-53672995 郵箱:bjaaa@aaaedu.cc