掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
我很喜歡用python,用python處理數(shù)據(jù)是家常便飯,從事的工作涉及nlp,算法,推薦,數(shù)據(jù)挖掘,數(shù)據(jù)清洗,數(shù)據(jù)量級從幾十k到幾T

成都創(chuàng)新互聯(lián)公司是專業(yè)的資中網(wǎng)站建設(shè)公司,資中接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行資中網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
不等,我來說說吧
百萬級別數(shù)據(jù)是小數(shù)據(jù),python處理起來不成問題,python處理數(shù)據(jù)還是有些問題的
Python處理大數(shù)據(jù)的劣勢:
1.python線程有g(shù)il,通俗說就是多線程的時候只能在一個核上跑,浪費了多核服務(wù)器。在一種常見的場景下是要命的:并發(fā)單元之間有巨
大的數(shù)據(jù)共享或者共用(例如大dict),多進程會導致內(nèi)存吃緊,多線程則解決不了數(shù)據(jù)共享的問題,單獨的寫一個進程之間負責維護讀
寫這個數(shù)據(jù)不僅效率不高而且麻煩
2.python執(zhí)行效率不高,在處理大數(shù)據(jù)的時候,效率不高,這是真的,pypy(一個jit的python解釋器,可以理解成腳本語言加速執(zhí)行的
東西)能夠提高很大的速度,但是pypy不支持很多python經(jīng)典的包,例如numpy(順便給pypy做做廣告,土豪可以捐贈一下PyPy -
Call for donations)
3.絕大部分的大公司,用java處理大數(shù)據(jù)不管是環(huán)境也好,積累也好,都會好很多。
推薦學習《python教程》
Python處理數(shù)據(jù)的優(yōu)勢(不是處理大數(shù)據(jù)):
1. 異??旖莸拈_發(fā)速度,代碼量巨少 2. 豐富的數(shù)據(jù)處理包,不管正則也好,html解析啦,xml解析啦,用起來非常方便 3. 內(nèi)部類型使用成本巨低,不需要額外怎么操作(java,c++用個map都很費勁) 4. 公司中,很大量的數(shù)據(jù)處理工作工作是不需要面對非常大的數(shù)據(jù)的 5. 巨大的數(shù)據(jù)不是語言所能解決的,需要處理數(shù)據(jù)的框架(hadoop, mpi。。。。)雖然小眾,但是python還是有處理大數(shù)據(jù)的框 架的,或者一些框架也支持python 6. 編碼問題處理起來太太太方便了
綜上所述:
1. python可以處理大數(shù)據(jù)
2. python處理大數(shù)據(jù)不一定是最優(yōu)的選擇
3. python和其他語言(公司主推的方式)并行使用是非常不錯的選擇
4. 因為開發(fā)速度,你如果經(jīng)常處理數(shù)據(jù),而且喜歡linux終端,而且經(jīng)常處理不大的數(shù)據(jù)(100m一下),最好還是學一下python

我們在微信上24小時期待你的聲音
解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流