大數據為什麼要用Python?其優點在哪?

首先我們要知道大數據的數據從哪裡來?一般除了部分企業有能力自己產生大量的數據,大部分時候,是需要靠爬蟲來抓取互聯網數據來做分析。

大數據為什麼要用Python?其優點在哪?

網絡爬蟲是Python的傳統強勢領域,最流行的爬蟲框架Scrapy,HTTP工具包urlib2,HTML解析工具beautifulsoup,XML解析器lxml,等等,都是能夠獨當一面的類庫。

不過,網絡爬蟲並不僅僅是打開網頁,解析HTML這麼簡單。高效的爬蟲要能夠支持大量靈活的併發操作,常常要能夠同時幾千甚至上萬個網頁同時抓取,傳統的線程池方式資源浪費比較大,線程數上千之後系統資源基本上就全浪費在線程調度上了。

Python由於能夠很好的支持協程(Coroutine)操作,基於此發展起來很多併發庫,如Gevent,Eventlet,還有Celery之類的分佈式任務框架。被認為是比AMQP更高效的ZeroMQ也是最早就提供了Python版本。有了對高併發的支持,網絡爬蟲才真正可以達到大數據規模。

抓取下來的數據,需要做分詞處理,Python在這方面也不遜色,著名的自然語言處理程序包NLTK,還有專門做中文分詞的Jieba,都是做分詞的利器。

數據的處理最為優秀!Python的數據處理算法,從統計理論,到數據挖掘,機器學習,再到最近幾年提出來的深度學習理論,數據科學百花齊放。那些“高大上”的數據科學家們都用什麼編程?

如果單單實在理論研究領域,或許R語言才是最受數據科學家歡迎的,可R語言的問題也很明顯,原因是創建R語言的是統計學家,跟其他語言相比語法略微怪異。況且R語言要想實現大規模分佈式系統,需要做很大的工程才能完成。所以大,部分公司在使用R語言做完實驗原型、算法確定之後,會再將其翻譯為工程語言,與之相比Python成為了數據科學家最喜歡的語言之一。

原因是與R語言不同,Python自身就是一門工程性語言,數據科學家用Python實現的算法,可以直接用在產品中,這對於大數據初創公司節省成本是非常有幫助的。正式因為數據科學家對Python和R的熱愛,Spark為了討好數據科學家,對這兩種語言提供了非常好的支持。

以上便是小編對“大數據為什麼要用Python?其優點在哪?”的大致介紹,希望能有所幫助!


分享到:


相關文章: