我有一个Spark ETL作业,需要使用java / scala客户端从一个hdfs目录复制到另一个hdfs目录,有效的复制方法是什么?我正在寻找一种方法,如果spark api中有内置的东西可以将文件从一个复制到另一个,或者我可以使用hdfs客户端。我的代码如下所示。
val conf: Configuration = new Configuration()
val fs: FileSystem = FileSystem.get(conf)
val workDirPath: Path = new Path("abc")
val dataDirPath: Path = new Path("bcd")
import org.apache.hadoop.fs.FSDataOutputStream
val ostr: FSDataOutputStream = fs.create(workDirPath, true,
512,
1.toShort,
(64 * 1024 * 1024).toLong));
val buf: Array[Byte] = new Array[Byte](65 * 1024)
ostr.write(buf)
ostr.close()