网上有关“为什么大数据选择python”话题很是火热,小编也是针对为什么大数据选择python寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。
大数据的数据从哪里来?除了部分企业有能力自己产生大量的数据,大部分时候,是需要靠爬虫来抓取互联网数据来做分析。
网络爬虫是Python的传统强势领域,最流行的爬虫框架Scrapy,HTTP工具包urlib2,HTML解析工具beautifulsoup,XML解析器lxml,等等,都是能够独当一面的类库。
不过,网络爬虫并不仅仅是打开网页,解析HTML这么简单。高效的爬虫要能够支持大量灵活的并发操作,常常要能够同时几千甚至上万个网页同时抓取,传统的线程池方式资源浪费比较大,线程数上千之后系统资源基本上就全浪费在线程调度上了。Python由于能够很好的支持协程(Coroutine)操作,基于此发展起来很多并发库,如Gevent,Eventlet,还有Celery之类的分布式任务框架。被认为是比AMQP更高效的ZeroMQ也是最早就提供了Python版本。有了对高并发的支持,网络爬虫才真正可以达到大数据规模。
抓取下来的数据,需要做分词处理,Python在这方面也不逊色,著名的自然语言处理程序包NLTK,还有专门做中文分词的Jieba,都是做分词的利器。
数据处理
万事俱备,只欠东风。这东风,就是数据处理算法。从统计理论,到数据挖掘,机器学习,再到最近几年提出来的深度学习理论,数据科学正处于百花齐放的时代。数据科学家们都用什么编程?
如果是在理论研究领域,R语言也许是最受数据科学家欢迎的,但是R语言的问题也很明显,因为是统计学家们创建了R语言,所以其语法略显怪异。而且R语言要想实现大规模分布式系统,还需要很长一段时间的工程之路要走。所以很多公司使用R语言做原型试验,算法确定之后,再翻译成工程语言。
Python也是数据科学家最喜欢的语言之一。和R语言不同,Python本身就是一门工程性语言,数据科学家用Python实现的算法,可以直接用在产品中,这对于大数据初创公司节省成本是非常有帮助的。正式因为数据科学家对Python和R的热爱,Spark为了讨好数据科学家,对这两种语言提供了非常好的支持。
Python的数据处理相关类库非常多。高性能的科学计算类库NumPy和SciPy,给其他高级算法打了非常好的基础,matploglib让Python画图变得像Matlab一样简单。Scikit-learn和Milk实现了很多机器学习算法,基于这两个库实现的Pylearn2,是深度学习领域的重要成员。Theano利用GPU加速,实现了高性能数学符号计算和多维矩阵计算。当然,还有Pandas,一个在工程领域已经广泛使用的大数据处理类库,其DataFrame的设计借鉴自R语言,后来又启发了Spark项目实现了类似机制。
对了,还有iPython,这个工具如此有用,以至于我差点把他当成标准库而忘了介绍。iPython是一个交互式Python运行环境,能够实时看到每一段Python代码的结果。默认情况下,iPython运行在命令行,可以执行ipython notebook在网页中运行。用matplotlib绘制的图可以直接嵌入式的显示在iPython Notebook中。
iPython Notebook的笔记本文件可以共享给其他人,这样其他人就可以在自己的环境中重现你的工作成果;如果对方没有运行环境,还可以直接转换成HTML或者PDF。
为什么是Python
正是因为应用开发工程师、运维工程师、数据科学家都喜欢Python,才使得Python成为大数据系统的全栈式开发语言。
对于开发工程师而言,Python的优雅和简洁无疑是最大的吸引力,在Python交互式环境中,执行import this,读一读Python之禅,你就明白Python为什么如此吸引人。Python社区一直非常有活力,和NodeJS社区软件包爆炸式增长不同,Python的软件包增长速度一直比较稳定,同时软件包的质量也相对较高。有很多人诟病Python对于空格的要求过于苛刻,但正是因为这个要求,才使得Python在做大型项目时比其他语言有优势。OpenStack项目总共超过200万行代码,证明了这一点。
对于运维工程师而言,Python的最大优势在于,几乎所有Linux发行版都内置了Python解释器。Shell虽然功能强大,但毕竟语法不够优雅,写比较复杂的任务会很痛苦。用Python替代Shell,做一些复杂的任务,对运维人员来说,是一次解放。
对于数据科学家而言,Python简单又不失强大。和C/C++相比,不用做很多的底层工作,可以快速进行模型验证;和Java相比,Python语法简洁,表达能力强,同样的工作只需要1/3代码;和Matlab,Octave相比,Python的工程成熟度更高。不止一个编程大牛表达过,Python是最适合作为大学计算机科学编程课程使用的语言——MIT的计算机入门课程就是使用的Python——因为Python能够让人学到编程最重要的东西——如何解决问题。
大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才
能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
首先大数据是一个很大的概念,现在很多领域都用到了大数据,比如:互联网、广告、金融、能源、交通等。而Python是一门编程语言,可以用Python处理和分析各个领域产生的数据。很多初学者经常比较哪种语言是最好的,其实:编程语言没有最好,只有最适用,即在某一种中场景下最适用!!!经常会有很多小伙伴们在一些论坛中喊,PHP是世界第一语言;Java是宇宙第一语言;人生苦短,我用Python等等。
客观的说,如果以后想从事大数据开发方向,两种语言都可能会用到,可以先学一门,因为语言是相通的,学了一门后,再学其他的就很快了!!!不要在到底学习哪门语言上纠结,重要的是先行动起来,学好一门编程语言!因为以后你可能还会学新的语言,比如现在Spark很火,还要学Scala呢!
推荐学习《python教程》
以前在一个论坛上有人这样比较Python、Java、C++,我觉得很形象生动:说Python是自行车,拿过来就骑,但是速度最快也就百十公里;Java是大型运输机,体量大,越飞越快;C++是导弹,一按发射按钮,嗖的一下就飞了,可以飞到几倍音速。经过比较,很容易上手,但是Python的性能最差,C++性能最高,但是想驾驭C++,就像控制导弹一样,成本和难度较高,而Java就脱颖而出了,你会发现现在大数据生态圈中的绝大多数框架都是用Java编写或是运行在JVM之上的!!!
互联网企业是这样做的:如果处理的数量比较大,那先用Hadoop或Spark进行一次或多次处理,然后将处理后的结果保存起来。如果数据量较小并且还要做一些数据挖掘或机器学习,会倾向使用Python,因为Python的机器学习算法更多,更完善!但是Hadoop和Spark也有相应的机器学习库了,比如Hadoop的Mahout和Spark MLlib,但是算法相对较少,随着时间的发展,会越来越完善的!所以到底是使用Spark还是Python,要看数据量的多少和业务的复杂度来决定!
就大数据处理和分析而言,python更适用一些,建议先学好python,毕竟现在大数据生态圈中的技术都脱离不了python,以后再学其他语言也很容易!
关于“为什么大数据选择python”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!
本文来自作者[admin]投稿,不代表百科号立场,如若转载,请注明出处:https://bkvjgel.cn/xwzx/202501-695.html
评论列表(4条)
我是百科号的签约作者“admin”!
希望本篇文章《为什么大数据选择python》能对你有所帮助!
本站[百科号]内容主要涵盖:国足,欧洲杯,世界杯,篮球,欧冠,亚冠,英超,足球,综合体育
本文概览:网上有关“为什么大数据选择python”话题很是火热,小编也是针对为什么大数据选择python寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助...