如何在spark / scala ETL作业中将文件从一个HDFS目录复制到另一HDFS目录

时间:2018-07-22 05:55:55

标签: apache-spark hadoop hdfs mapr

我有一个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()

0 个答案:

没有答案