我在一个ubuntu服务器上工作 spark
安装在里面。
我没有这个服务器的sudo访问权限。
所以在我的目录下,我创建了一个新的 virtual environment
我安装的地方 pyspark
当我键入以下命令时
whereis spark-shell #see below
/opt/spark-2.4.4-bin-hadoop2.7/bin/spark-shell2.cmd /opt/spark-2.4.4-bin-hadoop2.7/bin/spark-shell.cmd /opt/spark-2.4.4-bin-hadoop2.7/bin/spark-shell /home/abcd/.pyenv/shims/spark-shell2.cmd /home/abcd/.pyenv/shims/spark-shell.cmd /home/abcd/.pyenv/shims/spark-shell
另一个命令
echo 'sc.getConf.get("spark.home")' | spark-shell
scala> sc.getConf.get("spark.home")
res0: String = /home/abcd/.pyenv/versions/bio/lib/python3.7/site-packages/pyspark
q1)我是否使用了正确的命令来查找spark的安装目录?
q2)可以帮助我理解为什么我看到 3 opt paths
以及 3 pyenv paths
1条答案
按热度按时间cgfeq70w1#
一个Spark装置(就像你在
/opt/spark-2.4.4-bin-hadoop2.7
)通常带有Pypark安装。您可以通过下载并提取这个tarball来检查这一点(https://www.apache.org/dyn/closer.lua/spark/spark-2.4.6/spark-2.4.6-bin-hadoop2.7.tgz).如果你安装
pyspark
在虚拟环境中,您正在安装pyspark
它没有scala源代码,但是带有编译后的spark代码作为jar(参见jars
pyspark安装中的文件夹)。pyspark
是spark上的 Package 器(用scala编写)。这可能就是你看到的/home/d/.pyenv/shims/
.剧本
spark-shell2.cmd
以及spark-shell.cmd
在同一个目录中是同一个spark安装的一部分。这些是文本文件,你可以cat
他们。你会看到的spark-shell.cmd
电话spark-shell2.cmd
在它里面。你可能会有更多的脚本在你的/opt/spark-2.4.4-bin-hadoop2.7/bin/
文件夹,所有这些都是同一个spark安装的一部分。文件夹也是如此/home/d/.pyenv/shims/
. 最后,/home/d/.pyenv/versions/bio/lib/python3.7/site-packages/pyspark
好像又是一个pyspark
安装。哪一个都不重要
pyspark
您使用的安装。为了使用spark,需要创建一个java进程来运行scala/java代码(从安装中的jar)。通常,当您运行这样的命令时
然后创建一个运行spark的新java进程。
如果你运行脚本
/opt/spark-2.4.4-bin-hadoop2.7/bin/pyspark
然后还要创建一个新的java进程。您可以使用以下方式检查是否确实存在这样一个java进程:
ps aux | grep "java"
.