我正在尝试将 abc.json 从 port / example_File / 2017 复制到HDFS中的另一个位置 / port / example_File / 2018 , 通过以下代码
String exampleFile= "hdfs://port/example_File/2017/abc.json"
String targetFile="hdfs://port/example_File/2018"
hdfs.copyFromLocalFile(new Path(exampleFile),new Path(targetFile))
我正处于异常
之下 org.jboss.resteasy.spi.UnhandledException:
java.lang.IllegalArgumentException: Wrong FS:
hdfs://port/example_File/2017/abc.json, expected: file:///
如何在HDFS中将文件从一个位置复制到另一个位置
谢谢,
答案 0 :(得分:1)
copyFromLocal
是将文件从Local Filesystem复制到HDFS。
要复制HDFS群集中的文件,请使用FileUtil.copy()
并为srcFS
和dstFs
指定相同的文件系统。
在HDFS群集内或两个不同HDFS群集之间复制大量文件时使用DistCp
。请参阅DistCp Java API here。