为什么我会看到多个spark安装目录?

64jmpszr  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(398)

我在一个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

cgfeq70w

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)。
通常,当您运行这样的命令时


# Python code

spark = SparkSession.builder.appName('myappname').getOrCreate()

然后创建一个运行spark的新java进程。
如果你运行脚本 /opt/spark-2.4.4-bin-hadoop2.7/bin/pyspark 然后还要创建一个新的java进程。
您可以使用以下方式检查是否确实存在这样一个java进程: ps aux | grep "java" .

相关问题