【发布时间】:2019-06-03 05:27:17
【问题描述】:
我正在尝试使用org.apache.hadoop.fs 的文件系统库将文件写入本地FileSystem。下面是我应该这样做的大 scala 代码中的一个内衬代码,但事实并非如此。
fs.copyToLocalFile(false, hdfsSourcePath, new Path(newFile.getAbsolutePath), true)
newFile 的值为:
val newFile = new File(s"${localPath}/fileName.dat")
localPath 只是一个包含本地磁盘完整路径的变量。
hdfsSourcePath 是 HDFS 位置的完整路径。
作业正常执行,但我没有看到在本地创建的文件。我在cluster 模式下通过Spark 引擎运行它,这就是为什么我使用copyToLocalFile 方法重载useRawLocalFileSystem 的第四个参数并将其设置为true。使用它,我们可以避免将文件写入执行程序节点。
有什么想法吗?
【问题讨论】:
标签: scala apache-spark hadoop