什么是大數(shù)據(jù)?
大數(shù)據(jù)(big data),指無法在一定時間范圍內(nèi)用常規(guī)軟件工具進行捕捉、管理和處理的數(shù)據(jù)集合,是需要新處理模式才能具有更強的決策力、洞察發(fā)現(xiàn)力和流程優(yōu)化能力的海量、高增長率和多樣化的信息資產(chǎn)。
為什么是python大數(shù)據(jù)?
從大數(shù)據(jù)的百科介紹上看到,大數(shù)據(jù)想要成為信息資產(chǎn),需要有兩步,一是數(shù)據(jù)怎么來,二是數(shù)據(jù)處理。
數(shù)據(jù)怎么來:
在數(shù)據(jù)怎么來這個問題上,數(shù)據(jù)挖掘無疑是很多公司或者個人的首選,畢竟大部分公司或者個人是沒有能力產(chǎn)生這么多數(shù)據(jù)的,只能是挖掘互聯(lián)網(wǎng)上的相關數(shù)據(jù)。
網(wǎng)絡爬蟲是Python的傳統(tǒng)強勢領域,最流行的爬蟲框架Scrapy,HTTP工具包urlib2,HTML解析工具beautifulsoup,XML解析器lxml,等等,都是能夠獨當一面的類庫。
當然,網(wǎng)絡爬蟲并不僅僅只是打開網(wǎng)頁,解析HTML怎么簡單。高效的爬蟲要能夠支持大量靈活的并發(fā)操作,常常要能夠同時幾千甚至上萬個網(wǎng)頁同時抓取,傳統(tǒng)的線程池方式資源浪費比較大,線程數(shù)上千之后系統(tǒng)資源基本上就全浪費在線程調(diào)度上了。
Python由于能夠很好的支持協(xié)程(Coroutine)操作,基于此發(fā)展起來很多并發(fā)庫,如Gevent,Eventlet,還有Celery之類的分布式任務框架。被認為是比AMQP更高效的ZeroMQ也是最早就提供了Python版本。有了對高并發(fā)的支持,網(wǎng)絡爬蟲才真正可以達到大數(shù)據(jù)規(guī)模。
數(shù)據(jù)處理:
有了大數(shù)據(jù),那么也需要處理,才能找到適合自己的數(shù)據(jù)。而在數(shù)據(jù)處理方向,Python也是數(shù)據(jù)科學家最喜歡的語言之一,這是因為Python本身就是一門工程性語言,數(shù)據(jù)科學家用Python實現(xiàn)的算法,可以直接用在產(chǎn)品中,這對于大數(shù)據(jù)初創(chuàng)公司節(jié)省成本是非常有幫助的。
正是因為這些原因,才讓python語言成為很多公司處理大數(shù)據(jù)的首選。加之python本身具有簡單、易學、庫多等原因,讓越來越多的人選擇轉(zhuǎn)行python開發(fā)。
想要了解更多關于大數(shù)據(jù)資訊信息,請關注中培偉業(yè)李老師二維碼: