hadoop給數(shù)據(jù)排序 學(xué)習大數(shù)據(jù)難嗎?
學(xué)習大數(shù)據(jù)難嗎?學(xué)習大數(shù)據(jù)是很困難的,但是如果你有一個系統(tǒng)的學(xué)習計劃,開始學(xué)習大數(shù)據(jù)就不那么困難了。為了開始大數(shù)據(jù)的學(xué)習,你需要準備以下幾個方面:大數(shù)據(jù)的基礎(chǔ)知識包括三個部分,即計算機、數(shù)學(xué)和統(tǒng)計學(xué)。
學(xué)習大數(shù)據(jù)難嗎?
學(xué)習大數(shù)據(jù)是很困難的,但是如果你有一個系統(tǒng)的學(xué)習計劃,開始學(xué)習大數(shù)據(jù)就不那么困難了。為了開始大數(shù)據(jù)的學(xué)習,你需要準備以下幾個方面:
大數(shù)據(jù)的基礎(chǔ)知識包括三個部分,即計算機、數(shù)學(xué)和統(tǒng)計學(xué)。如果你是這三個專業(yè)的畢業(yè)生,就可以輕松進入大數(shù)據(jù)領(lǐng)域,有更多的工作(數(shù)據(jù)采集、數(shù)據(jù)整理、數(shù)據(jù)存儲、數(shù)據(jù)分析和數(shù)據(jù)分析)呈現(xiàn)等。如果你是非相關(guān)專業(yè),你應(yīng)該從基本的計算機知識開始。例如,您應(yīng)該精通使用Linux系列操作系統(tǒng)(CentOS、Ubuntu等),因為大多數(shù)大數(shù)據(jù)平臺都構(gòu)建在Linux上。
目前Hadoop和spark是比較常見的大數(shù)據(jù)平臺,很多商業(yè)大數(shù)據(jù)平臺都是建立在Hadoop之上的,因此掌握Hadoop和spark平臺的建設(shè)是學(xué)習大數(shù)據(jù)的基礎(chǔ)。Hadoop平臺對計算機硬件要求不高,個人電腦可以完成構(gòu)建,因此更適合初學(xué)者。
無論您從事大數(shù)據(jù)的哪個方面,都必須掌握一門編程語言。比如Java、python、Scala、R等語言在大數(shù)據(jù)領(lǐng)域的應(yīng)用非常廣泛。
開始使用大數(shù)據(jù)需要一段時間。畢竟,大數(shù)據(jù)涉及的內(nèi)容很多,也很復(fù)雜。根據(jù)歷史經(jīng)驗,從大數(shù)據(jù)入手,最好的辦法就是利用大數(shù)據(jù)促進學(xué)習。邊學(xué)邊用可以促進大數(shù)據(jù)的學(xué)習,使學(xué)習逐步深化。因此,建議學(xué)習大數(shù)據(jù)也要因勢利導(dǎo)。
一道java面試題,20億數(shù)字的文本排序,如何取前100?
因為這是一個Java問題,所以這是典型的TOPK問題。首先取前100個數(shù)字構(gòu)建一個最小堆,然后依次從堆的頂部插入剩余的數(shù)字,同時調(diào)整堆。堆中最后100個元素就是結(jié)果??臻g復(fù)雜度為K,時間復(fù)雜度為nlogk