大数据和python学哪个,python为什么适合大数据
今天,我想告诉你如何选择大数据编程语言。
比如,首先有一个大数据项目。您知道问题域和要使用的基础设施。您甚至可能已经决定了使用哪个框架来处理所有这些数据,但是有一个决定被推迟了:
我应该选择哪种语言?(或者更恰当的问题是,我应该强迫我所有的开发人员和数据科学家使用哪种语言?这个问题不会拖太久,但迟早要决定。
如何选择大数据的编程语言
当然,没有什么可以阻止你使用其他机制(比如XSLT转换)来处理大数据。但是总的来说,现在的大数据有很多语言可以选择,比如Java,Python,R,Scala。那么,你应该选择哪种语言呢?为什么,或者什么时候,你选择它?下面介绍一下Python和Java。
Python
如果你的数据科学家不使用R,他们可能会彻底了解Python。十几年来,Python在学术界非常流行,尤其是在自然语言处理(NLP)等领域。因此,如果你有一个需要NLP处理的项目,你将面临令人眼花缭乱的选择,包括经典的NTLK,使用GenSim的主题建模,或者超级快速准确的spaCy。同样,说到神经网络,Python同样游刃有余,有Theano和Tensorflow然后是机器学习的scikit-learn,数据分析的NumPy和Pandas。
还有Juypter/iPython――这个基于web的笔记本服务器框架允许你使用可共享的日志格式来混合代码、图形和几乎任何对象。这一直是Python的杀手级功能之一,但最近,这个概念被证明非常有用,它出现在几乎所有追求读-读-输出-循环(REPL)概念的语言中,包括Scala和r
Python往往在大数据处理的框架中得到支持,但同时,它往往不是“一等公民”。比如Spark中的新特性几乎总是出现在Scala/Java绑定的顶部,可能需要在PySpark中为那些较新的版本写几个小版本(尤其是SparkStreaming/MLLib中的开发工具)。
Java
最后,Java――永远是不可或缺的――这种语言不被喜爱,被抛弃,被一家公司(注:甲骨文)拥有,这家公司似乎只关心它能不能通过起诉谷歌赚钱。它完全过时了。只有企业界的无人机才用Java!但是,Java可能适合你的大数据项目。想想HadoopMapReduce,是用Java写的。HDFS怎么样?也是用Java写的。甚至Storm、Kafka、Spark都可以在JVM上运行(使用Clojure和Scala),这意味着Java在这些项目中是“一等公民”。此外,还有像GoogleCloudDataflow(现在的ApacheBeam)这样的新技术。直到最近,他们还只支持Java。
也许Java并不是像摇滚明星一样受欢迎的首选语言。但是作为R & ampd人员正在尝试整理Node.js应用中的一组回调,使用Java让你接触到一个庞大的生态系统(包括分析器、调试器、监控工具以及保证企业安全性和互操作性的库),不止如此,其中大部分都是在过去二十年中测试过的(可惜今年Java要21岁了,我们都老了)。
炮轰Java的一个主要原因是它繁琐冗长,缺乏交互开发的REPL(R、Python、Scala都有)。我见过基于Scala的10行Spark代码迅速变成用Java写的200行异常代码,还有巨大的类型语句,占据了大部分屏幕空间。不过Java8中新增的Lambda支持功能对改善这种情况有很大帮助。Java从来没有Scala那么紧凑,但是Java8确实让用Java开发不那么痛苦了。
大数据项目应该使用哪种语言?恐怕要看情况。对于跨GPU的NLP或密集神经网络处理,Python是一个很好的选择。如果您想要一个用于生产环境的健壮的数据流解决方案,并且拥有所有重要的操作工具,Java绝对是一个极好的选择。
推荐课程:python基础语法全讲解视频(马可教育2014版)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。