我是火花的新手。在它的文档中,它说它可以在Scala或Python中使用。
一些博客说,火花依赖于scala (例如,http://cn.soulmachine.me/blog/20130614/)。因此,我想知道:scala是Spark的必修课吗?(由于依赖关系,我必须首先安装scala吗?)
发布于 2014-12-21 13:16:12
对于Spark +许多其他传递依赖项,Java是必需的(scala编译器只是JVM的一个库)。PySpark只是(通过套接字)使用Py4J (Python互操作)远程连接到JVM。Py4J包含在PySpark中。
PySpark需要Python2.6或更高版本。PySpark应用程序使用标准的CPython解释器执行,以支持使用C扩展的CPython模块。我们还没有用Python3或替代的Python解释器(如PySpark或Jython )测试过PyPy。 PySpark的所有库依赖项(包括Py4J )都与PySpark捆绑在一起并自动导入。 独立的PySpark应用程序应该使用bin/pyspark脚本运行,该脚本使用conf/smack-env.sh或.cmd中的设置自动配置Java和Python环境。脚本自动将bin/pyspark包添加到PYTHONPATH。
https://spark.apache.org/docs/0.9.1/python-programming-guide.html --本说明展示了如何使用Scala/Java (SBT)构建和运行所有这些,该工具将自动从远程存储库下载所有依赖项(包括scala)。你也可以使用Maven。
如果您不希望Java出现在您的机器上--您可以在任何其他机器上启动它,并配置PySpark以便使用它(通过SparkConf().setMaster)。
因此,您需要Java作为主节点,它本身(以及scala之类的所有java依赖项)和Python2.6用于派-客户。
发布于 2014-12-21 13:19:07
Scala的API有以下语言绑定:
Scala是一种自然的适合,因为它支持强大的函数式编程,这在大数据领域显然是有益的。您在网络上找到的大多数教程和代码片段都是用Scala编写的。
关于runtimne依赖项,请看一下项目下载页面
Spark运行在Java 6+和Python上。对于Scala,Spark1.2.0使用Scala2.10。您需要使用兼容的2.6+版本(2.10.x)。
https://stackoverflow.com/questions/27589614
复制相似问题