-
1 # JackieZheng
-
2 # 東風高揚
做大資料必須要用Java嗎?用純Python做大資料行不行?Python做大資料有哪些優缺點?大資料開發不一定要用Java,用Python是可以的。Java是企業界開發的不倒翁,一直屹立著。用純Python做大資料也是可以的,最主要是依據專案的需要。
目前業界在大資料中用得比較多的語言,主要有:R、Python、Scala、Java等。
R被稱為“統計人員為統計人員開發的一種語言”。優秀的用於統計分析、繪圖的語言和操作環境的工具。
Python是面向物件的解釋型語言,語法簡潔,有豐富強大的庫,能夠把其它語言製作的各種模組很輕鬆地聯結在一起。
Scala代表了一個新的語言品種,一種面向物件的程式語言卻又無縫結合了指令式程式設計和函數語言程式設計風格。
Java目前高居排行榜狀元的不倒翁,大量的人使用。
Python是很多資料分析人十分喜愛的開發語言,內建了很多C語言編寫的庫,操作方便快捷。很多人主要用Python來抓取資料,這方面具有很多優勢,有很多的爬蟲框架,比如Scrapy、HTTP工具包Urlib2、HTML解析工具Beautifulsoup、XML接下去lXML等。
Python開發及處理資料的優勢:
①:Python不但簡單,而且開發速度很快,而且程式碼量少。
②:豐富的資料處理包,使用起來很方便快捷。
④:高可維護性。
Python處理大資料的劣勢:
①:Python執行緒有gil,就是說多執行緒時只能在一個核上跑,浪費多核伺服器。併發單元之間有巨大的資料共享或共用,多程序導致記憶體吃緊。
②:Python執行效率不高。資料量級達到一定級別,執行效率就特低了。
Python比較適合資料的抓取、載入和分發,高效簡單。但涉及大資料量處理時,很多又和其它的語言來合作使用,比如Java這種很多公司積累較多的語言,還有核心的CPU密集操作部分呼叫C函式,開發效率和效能都很不錯。
回覆列表
學大資料和學java沒有必然關係。
讓很多人認為大資料和java有關係的應該是因為Hadoop。
在大資料剛興起的時候,從某種程度上來說,大資料指的就是Hadopp,Hadopp包括hadoop分散式檔案系統HDFS和計算機框架MapReduce。而Hadoop是由Java寫的,作者是Doung,並將其開源,也正因為開源,很以Hadoop才廣為流傳,大資料的觀念才如此快速的深入人心。
隨著大資料的發展,Hadoop這種基於儲存的方式在有些場合已經力不從心了。所以基記憶體計算的Spark應運而生,印象中要比Hadoop快100倍。
但Spark用的就不是Java,而是Scala,這種面向函式程式設計的語言的語法很簡潔,寫起來很舒服。當然Spark也是支援Java和Python的。
所以說,要學大資料不一定要學Java,但最少要掌握一門語言。語言只是一門工具,等用熟了,再接觸其他語言,學習成本也較低。
另外大資料並不就是指一些大資料框架,還包括一些資料探勘的演算法,統計學等知識,語言只是其大版圖中的一小塊。
最後,祝能學好大資料,畢竟目前錢和前途都很可觀。