我想从本地文件合并 /opt/one.txt
在我的hdfs上有文件 hdfs://localhost:54310/dummy/two.txt
.
包含在one.txt中: f,g,h
包含在two.txt中: 2424244r
我的代码:
val cfg = new Configuration()
cfg.addResource(new Path("/usr/local/hadoop/etc/hadoop/core-site.xml"))
cfg.addResource(new Path("/usr/local/hadoop/etc/hadoop/hdfs-site.xml"))
cfg.addResource(new Path("/usr/local/hadoop/etc/hadoop/mapred-site.xml"))
try
{
val srcPath = "/opt/one.txt"
val dstPath = "/dumCBF/two.txt"
val srcFS = FileSystem.get(URI.create(srcPath), cfg)
val dstFS = FileSystem.get(URI.create(dstPath), cfg)
FileUtil.copyMerge(srcFS,
new Path(srcPath),
dstFS,
new Path(dstPath),
true,
cfg,
null)
println("end proses")
}
catch
{
case m:Exception => m.printStackTrace()
case k:Throwable => k.printStackTrace()
}
我遵循的教程来自:http://deploymentzone.com/2015/01/30/spark-and-merged-csv-files/
它根本不起作用,错误如下:
java.io.FileNotFoundException: File does not exist: /opt/one.txt
我不知道为什么,听起来是这样的错误?顺便说一句,文件one.txt存在
然后,我添加一些代码来检查存在的文件:
if(new File(srcPath).exists()) println("file is exist")
有什么想法或参考资料吗?谢谢!
编辑1,2:排印扩展
暂无答案!
目前还没有任何答案,快来回答吧!