如何将本地文件与hdfs文件合并?

ktca8awb  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(281)

我想从本地文件合并 /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:排印扩展

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题