1

是否有可能让本地文件作为输入,但处理它分发?如何在群集模式下运行spark,但是在本地执行文件?

我在我的代码中有sc.textFile(file:///path-to-file-locally),我知道文件的确切路径是正确的。然而,我仍然越来越

Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. 
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 1.0 failed 4 times, most recent failure: Lost task 0.3 in stage 1.0 (TID 14, spark-slave11.ydcloud.net): java.io.FileNotFoundException: File file:/<path to file> does not exist 

我运行火花分布,而不是本地。为什么错误存在?

回答

3

这是可能的,但是当你声明本地路径作为输入时,它必须出现在每个工作机器和驱动程序上。所以这意味着您必须首先手动或使用内置工具(如SparkFiles)进行分发。

+0

感谢。我想你也可以使用hadoop命令先分发文件,运行spark,然后使用hadoop命令删除文件。对? – buzzinolops

+0

当然。重点是 - 如果您读取数据,则必须在群集中的每台计算机上都可访问。 – zero323

相关问题