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

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

4

2 回答 2

3

这些文件必须位于所有节点都可以访问的集中位置。这可以通过使用分布式文件系统来实现,dse 提供了 HDFS 的替代品,称为 CFS(Cassandra 文件系统)。使用 -k 选项以分析模式启动 dse 时,cfs 可用。

有关设置和使用 cfs 的更多详细信息,您可以查看以下链接http://docs.datastax.com/en/datastax_enterprise/4.8/datastax_enterprise/ana/anaCFS.html

于 2016-07-05T20:15:08.813 回答
3

这是可能的,但是当您将本地路径声明为输入时,它必须存在于每台工作机器和驱动程序上。因此,这意味着您必须先手动或使用内置工具(如SparkFiles.

于 2016-07-05T19:15:42.680 回答