我使用以下方法将文件从本地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存储中删除。所以,拷贝实际上是一种“移动”。如何上传loca文件的副本?
4xy9mtcn1#
请注意,您正在设置的第一个参数 copyFromLocalFile 调用true,这将导致本地文件被删除。如果要保留本地文件,请设置 deleteSrc 至 false .以下是 copyFromLocalFile 方法。
copyFromLocalFile
deleteSrc
false
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
你也可以参考这个。
1条答案
按热度按时间4xy9mtcn1#
请注意,您正在设置的第一个参数
copyFromLocalFile
调用true,这将导致本地文件被删除。如果要保留本地文件,请设置deleteSrc
至false
.以下是
copyFromLocalFile
方法。src文件在本地磁盘上。以给定的dst名称将其添加到文件系统中。delsrc指示是否应该删除源
参数:
抛出:
你也可以参考这个。