hadoop入門基礎(chǔ)知識 學(xué)習(xí)大數(shù)據(jù)需要什么基礎(chǔ)?
學(xué)習(xí)大數(shù)據(jù)需要什么基礎(chǔ)?大數(shù)據(jù)需要開發(fā)功底,比如python語言,通過編程需要抓取數(shù)據(jù)。當(dāng)然會前端需要比如Html,javascript,將抓取的數(shù)據(jù)整合后通過前端去展示。所以個人覺得學(xué)習(xí)一門開發(fā)語言
學(xué)習(xí)大數(shù)據(jù)需要什么基礎(chǔ)?
大數(shù)據(jù)需要開發(fā)功底,比如python語言,通過編程需要抓取數(shù)據(jù)。當(dāng)然會前端需要比如Html,javascript,將抓取的數(shù)據(jù)整合后通過前端去展示。所以個人覺得學(xué)習(xí)一門開發(fā)語言是必須的。
學(xué)習(xí)分布式系統(tǒng)需要怎樣的知識?
學(xué)習(xí)分布式系統(tǒng)需要怎樣的知識
1. 硬件amp底層軟件的失效與高可用性高性能的矛盾。硬盤,交換機,進程,甚至OS本身都有失敗/崩潰的可能,在包含很多機器(比如gt1000)的廉價(使用非企業(yè)級硬件)集群中,這個問題表現(xiàn)為“你的系統(tǒng)總有一部分處于故障狀態(tài),如何保證高可用性?”,它的另一半是“如何在盡量少系統(tǒng)開銷的前提下,保證此可用性?”。一個簡單的例子是,為防止單點故障,數(shù)據(jù)通常都有備份。備份越多,可用性通常越好,但需要更多的磁盤空間和網(wǎng)絡(luò)帶寬,導(dǎo)致性能降低。那么多少備份合適?如何將這些備份分散到集群上(例如跨硬盤,跨機器,跨交換機,等等要求)?
2. 編程模型與單機不同,如何克服習(xí)慣帶來的影響。一個最簡單的例子是關(guān)于“鎖”的。在單機上,如果進程A和進程B都想修改數(shù)據(jù)D(例如做一個D 操作),有很多種方法可以避免。但分布式系統(tǒng)就要面臨選擇:要么用單機管理數(shù)據(jù)D(并忍受由此帶來的低可用性,因為單機失效將造成整個集群不可用),要么用多機共同管理數(shù)據(jù)D(并忍受復(fù)雜的協(xié)議,一大堆代碼,還有性能開銷)。Paxos就是以上問題的經(jīng)典解決方案(分布式的),發(fā)明者即Leslie Lamport。
3. 工業(yè)級的分布式系統(tǒng)意味著一整套工具集,除了那些運行在生產(chǎn)系統(tǒng)上的集群軟件,還有龐大的部署、運維、診斷軟件群,數(shù)量巨大的硬件(服務(wù)器、交換機、機架、電源,這些都很可能是定制的),甚至包括建筑物(數(shù)據(jù)中心的規(guī)劃、設(shè)計、內(nèi)部結(jié)構(gòu)等)。已經(jīng)超出我的經(jīng)驗范圍,作為一個引子,題主可自行了解。