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

相關問題