既然Python的庫能對大資料進行分析,那為何還要用Hadoop和Spark

時間 2021-05-10 18:37:46

1樓:Godthrone

Hadoop和spark在實際應用中,一般是在集群上跑PB級大資料的,但是做機器學習並不方便。

Python的庫搞機器學習很方便,但是不能直接駕馭集群。倒是可以用Python寫spark程式,但是有些庫就不能用了。

現在需要乙個能同時駕馭CPU+GPU集群,還能在上面各種呼叫機器學習庫的東西統一江湖,希望最好不是Python,我喜歡看得見的資料型別。

2樓:量化仔

之前有個做資料分析的人跟我說,只會python不會sql,把我氣的,差點扇他。

連sql和資料庫都不會,還敢說自己會資料分析?

3樓:Crow.Lu

曾經大哥騎自行車從北京到青海用了乙個半月,也是騎回來。

我覺得你騎一次你也就知道為什麼了,畢竟國道上8個輪子12個輪子的重型運輸卡車挺常見的。也能看見它拉了多少鋼筋什麼的。

4樓:

因為不是所有的 Python 庫都是按照分布式系統來設計的。

Hadoop 和 Spark 在分布式計算/儲存的領域,跟 Python 做不做大資料又不是一回事。機器學習單機當然也可以跑,但是當資料量單機承載不了,那就只能分布式了。

5樓:techmoe

用不用輪子的問題。僅僅是Python語言的話自己實現橫向擴充套件太費勁了,穩定性也堪憂,最終還是得借助spark或者YARN拿stream api套python

並且除了分析這一塊還得考慮其他基礎設施,HDFS這塊的地位感覺也不是其他東西能替代的,所以即使不用MR最後也還是得用Hadoop。

效能問題無所謂吧,單機縱向無限擴充套件會有效能問題嗎(

6樓:富貴竹

Python只是一門開發語言,其豐富的庫是實現不同的演算法,它並不能解決如分布式儲存、分布式運輸及一致性演算法等問題,單純用python處理的資料量是有上限,hadoop的出現是為了解決上PB級的資料如何快速儲存和訪問的問題,這個python是解決不了的。

hadoop生態圈有專門實現機器學習的元件,叫Mahout,可以實現經典的機器學習演算法。當然要論機器學習演算法的豐富程度,當時還是首選Python。

7樓:洒家十三

當然是效能了。

處理百萬、千萬行資料時,python或許能跑,但面對PB級的資料,python就像吞了象的大蟒,完全玩不轉了。

不用hadoop,根本就不行了。

8樓:桔了個仔

因為python庫並不是為分布式設計的,實際業務中資料量並不是一部高效能計算機就能handle得來的。下面聽我細細道來。

有個年輕人,他參加了藍翔烹飪學校的課程,立志成為一名廚師。

畢業後,他開了一家小餐館。在他看來,他每天的任務就是早上把食材準備好,放在廚房的乙個冰箱裡,他開工時,按照客戶的點單,從冰箱取出相應食材進行烹飪。

這種日子也挺愜意,廚師度過了開店前六個月安穩的小日子。

有一天,顧客A對他說:你的菜很棒,我想請你為我們工廠提供工作餐,你看可以嗎?

廚師立馬就答應下來了。但是他坐下來一想,可能要準備很多食材,現在的冰箱恐怕是放不下了。

有兩個選擇:1.買多幾個冰箱 2.換更大的冰箱。

廚師選擇了1。他認為,現在有顧客在這裡大量訂餐,以後也會有顧客大量訂餐,生意一定是蒸蒸日上的。如果現在買了大冰箱,可能過兩個月,又得買更大的。

買了冰箱,食材的放置就要有一定的規劃了。這樣會使得工作效率最大化。例如肉類放冰箱A,蔬菜放冰箱B,這樣就不用為了準備乙個菜,要去翻來覆去的把每個冰箱找一次。

當然有了冰箱,他乙個人也不夠人手來準備這麼多菜。他請了幾個夥計,乙個負責做水煮魚、乙個負責做沙拉。

這個餐廳倍受好評。在當地三個鎮都有訂單。為了減少來回成本,這個廚師決定在三個鎮都開分店,按照統一的標準進行管理。當某地食材不足時,可以從其他地區補充。

就這樣,這個餐廳一直擴張,這位藍翔畢業的廚師,終於在2023年最後乙個月,實現了小康生活。

畢業後,他開了一家小餐館。(乙個資料節點,乙個處理單元)

這種日子也挺愜意,廚師度過了開店前六個月安穩的小日子。(業務不多,資料量不大,一台伺服器處理得來)

有兩個選擇:1.買多幾個冰箱(買多幾個伺服器) 2.換更大的冰箱(更高效能伺服器)。

廚師選擇了1。(幾個伺服器搭建分布式資料系統,擴充套件業務只需新增新伺服器)

他認為,現在有顧客在這裡大量訂餐,以後也會有顧客大量訂餐,生意一定是蒸蒸日上的。如果現在買了大冰箱,可能過兩個月,又得買更大的。(擴充套件資料系統只需要新增)

買了冰箱,食材的放置就要有一定的規劃了。這樣會使得工作效率最大化。例如肉類放冰箱A,蔬菜放冰箱B,這樣就不用為了準備乙個菜,要去翻來覆去的把每個冰箱找一次。(資料的indexing)

當然有了冰箱,他乙個人也不夠人手來準備這麼多菜。他請了幾個夥計(worker node),乙個負責做水煮魚(task1),紅燒牛肉(task2)、乙個負責做沙拉(task3),意面(task4)。

這個餐廳倍受好評。在當地三個鎮的工廠都來訂餐。為了減少來回成本,這個廚師決定在三個鎮都開分店,按照統一的標準進行管理(cluster manager)。

當某地食材不足時,可以從其他地區補充(data shuffle)。

就這樣,這個餐廳一直擴張,這位藍翔畢業的廚師,成為了鎮上的小康之家(建立了穩定的大資料系統),在2023年最後乙個月,完全脫貧。

為了再加深理解,我在Spark結構圖上面標註了餐廳的一些「術語」。

9樓:人生幾何

因為Hadoop是以乙個集群在工作,能處理的資料是pB急以上的,不適合小數量的計算分析,而spark是專為大規模資料處理而設計的快速通用的計算引擎,比Hadoop快100倍

10樓:勤菜鳥

1.大資料的的特點就是海量資料,單台機器難以勝任分析,而你所說的Python庫分析一般都是單台機器處理全部資料,除非你你自己手動寫一套分而治之的大資料分布式處理系統;

2.Hadoop和spark等元件正是為大資料分布式處理而生的,Hadoop的HDFS是為了檔案共享,MapReduce是做資料的分布式分析,如果你能夠用Python自己構建一套分布式大資料處理應用,那也就和Hadoop和Spark的出現沒啥本質區別了,因為你幾乎要把這些元件的思想用Python實現了一遍,那還有這個必要嗎?

11樓:資料科學人工智慧

需要注意的是一些常見的python資料分析庫,例如pandas,sklearn等通常只支援單機版本,這些工具在小規模和中等規模資料上的分析已經足夠了,日常80%的工作用這些工具就可以完成。然而,當資料量真的很大的時候,就需要分布式集群來完成了,hadoop和spark是執行在集群上的分析環境。當然,spark也提供python的訪問介面,可以使用python來使用。

12樓:tika

Hadoop全家桶的應用場景是分布式計算

分布式是什麼?單台機器的記憶體、算力都是有限的,當資料量非常大的時候,單機能力有限,無法進行計算,需要多機協同。

Hadoop全家桶解決了多機分布式下機器不可靠,排程困難,儲存困難的問題

大資料營銷是不是資料庫營銷?

趙素衛 資料庫營銷提供的僅僅是資料,不能作為形成決策的依據,大資料營銷是基於多平台的大量資料,依託大資料技術的基礎上,應用於網際網路廣告行業的營銷方式。大資料營銷的核心在於讓網路廣告在合適的時間,通過合適的載體,以合適的方式,投給合適的人。以廣告投放來說,從前期推送廣告給使用者,到後期使用者瀏覽廣告...

大資料庫和大資料應用這個專業好學嗎?適合女生學嗎?

志大官人 看你自己怎麼去學了,能在這門課程上付出多少努力。大資料和大資料應用,資料科學與大資料技術,資料統計學等等這些課程都是差不了多少的。說實話,本科階段學習這些內容,說直白點就是大體了解一下,學點什麼內容。將來能幹什麼,可以從事於哪個領域之類,至於其他牛皮的本領,只是會有少數人掌握,通過報班培訓...

如何遷移超大資料庫表?

正好最近在做類似的東西,沒有接觸過MSSQL,以下主要是MySQL的經驗,前提均是單錶 雖然基本不可能 1.如果可以停機,直接分塊匯出成CSV然後MySQL端LOAD DATA INFILE就好,據說 未驗證 MySQL LOAD DATA的時候是批量匯入後再建立索引,比SQL檔案快的多。2.如果不...