【问题标题】:Hadoop FileSystem deletes source fileHadoop FileSystem 删除源文件
【发布时间】:2017-10-03 18:20:27
【问题描述】:

我使用以下方法将文件从本地 PC 上传到 hdfs:

FileSystem fs = FileSystem.get(conf);
boolean deleteSrc = true;
String destFile = "/user/admin/my.csv";
fs.copyFromLocalFile(deleteSrc,new Path(inputFile), new Path(destFile));

这会导致文件从本地存储中删除。因此,副本实际上是一个“移动”。
如何只上传 loca 文件的副本?

【问题讨论】:

  • 如果你不想从本地删除,我认为deleteSrc应该设置为false

标签: hadoop hdfs


【解决方案1】:

请注意您将copyFromLocalFile 调用的第一个参数设置为true,这会导致本地文件被删除。如果要保留本地文件,请将deleteSrc 设置为false

以下是copyFromLocalFile 方法的详细信息。

public void copyFromLocalFile(boolean delSrc,
                              boolean overwrite,
                              Path[] srcs,
                              Path dst)
                       throws IOException

src 文件在本地磁盘上。将其添加到给定 dst 名称的文件系统中。 delSrc 指示是否应该删除源

参数:

delSrc - whether to delete the src
overwrite - whether to overwrite an existing file
srcs - array of paths which are source
dst - path

投掷:

IOException - IO failure

您也可以参考this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-23
    • 2020-06-21
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多