作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在集群上运行 sc.texfile("file:///.../myLocalFile.txt")
,但出现了 java.io.FileNotFoundException
在 worker 身上。
所以我用谷歌搜索并找到了 sc.addFile
/SparkFiles.get
来将文件上传给每个工作人员。
这是我的代码:
sc.addFile("file:///.../myLocalFile.txt")
val input = sc.textFile(SparkFiles.get("myLocalFile.txt"))
我看到驱动程序节点将文件上传到 /tmp
中的目录,然后我的工作人员得到了 FileNotFoundException
,因为:
SparkFiles.get()
在驱动程序节点上运行,而不是在工作节点上运行(我通过添加 println
确认)。我尝试使用 spark-submit --files
选项,我看到了完全相同的问题。
那我做错了什么?我只想在集群上 sc.textFile()
。
最佳答案
您需要将 worker 上的文件复制到与驱动程序相同的路径,或者使用 hdfs,因为它在 worker 上可用。 worker 没有这些文件你可以去文件夹看看你自己,我会 scp 它们
关于apache-spark - SparkContext.addFile 将文件上传到驱动节点而不是工作节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50507317/
我是一名优秀的程序员,十分优秀!