Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 在群集上部署pyspark作业时FileNotFoundException_Apache Spark_Pyspark - Fatal编程技术网

Apache spark 在群集上部署pyspark作业时FileNotFoundException

Apache spark 在群集上部署pyspark作业时FileNotFoundException,apache-spark,pyspark,Apache Spark,Pyspark,正在尝试使用以下命令在纱线簇上提交以下test.py Spark应用程序 PYSPARK_PYTHON=./venv/venv/bin/python spark-submit --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./venv/venv/bin/python --master yarn --deploy-mode cluster --archives venv#venv test.py 注意:我没有使用本地模式,而是尝试使用virtuale

正在尝试使用以下命令在纱线簇上提交以下test.py Spark应用程序

PYSPARK_PYTHON=./venv/venv/bin/python spark-submit --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./venv/venv/bin/python --master yarn --deploy-mode cluster --archives venv#venv test.py
注意:我没有使用本地模式,而是尝试使用virtualenv下的python3.7站点包,用于在PyCharm中构建代码。virtualenv提供的自定义应用程序包不是作为群集服务提供的

这就是Python项目结构与venv目录内容的外观

-rw-r--r-- 1 schakrabarti nobody 225908565 Feb 26 13:07 venv.tar.gz
-rw-r--r-- 1 schakrabarti nobody      1313 Feb 26 13:07 test.py
drwxr-xr-x 6 schakrabarti nobody      4096 Feb 26 13:07 venv
drwxr-xr-x 3 schakrabarti nobody      4096 Feb 26 13:07 venv/bin
drwxr-xr-x 3 schakrabarti nobody      4096 Feb 26 13:07 venv/share
-rw-r--r-- 1 schakrabarti nobody        75 Feb 26 13:07 venv/pyvenv.cfg
drwxr-xr-x 2 schakrabarti nobody      4096 Feb 26 13:07 venv/include
drwxr-xr-x 3 schakrabarti nobody      4096 Feb 26 13:07 venv/lib
获取文件的相同错误不存在-pyspark.zip(如下所示)


请参阅我在Spark-10795上添加的评论:

如果我误解了问题,我深表歉意,但根据

PYSPARK_PYTHON=./venv/venv/bin/python spark-submit --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./venv/venv/bin/python --master yarn --deploy-mode cluster --archives venv#venv test.py
您使用纱线簇,但在测试中.py

#test.py
import json
from pyspark.sql import SparkSession

if __name__ == "__main__":
  spark = SparkSession.builder \
   .appName("Test_App") \
   .master("spark://gwrd352n36.red.ygrid.yahoo.com:41767") \
   .config("spark.ui.port", "4057") \
   .config("spark.executor.memory", "4g") \
   .getOrCreate()

  print(json.dumps(spark.sparkContext.getConf().getAll(), indent=4))

  spark.stop()
您尝试连接到Spark独立群集

spark://gwrd352n36.red.ygrid.yahoo.com:41767

因此,这可能是一个问题,而不是问题所在,因为我忘了用虚拟主机名替换实际主机名。我使用的主URL与从
sc.getConf.getAll
返回的URL相同,您的意思是使用spark://前缀用于独立集群吗?您是否建议使用hdfs://?是的,spark://仅适用于独立群集。实际上,若在start命令中使用-master,则不需要在代码中指定master。根据需要指定HADOOP\u CONF\u DIR或Thread\u DIR位置指定
spark.HADOOP.Thread.resourcemanager.hostname
spark.HADOOP.Thread.resourcemanager.address
也可以提供帮助。使用
.master(“纱线簇”)
。仍然面临同样的问题。
spark://gwrd352n36.red.ygrid.yahoo.com:41767