Скопируйте файлы из подкаталогов в базовый каталог в формате hdf, используя spark / scala - PullRequest
0 голосов
/ 30 октября 2019

У меня есть папки, созданные в базовом каталоге hdfs каждый раз, когда выполняется задание. И в каждой папке есть файлы .dat.

Мне нужно скопировать файлы .dat в мой базовый каталог, используя scala, и заархивировать, например, подкаталоги

. Базовый каталог: - / user / srav / Подкаталоги: - / user / srav / 20190101 / user / srav / 20180101

У меня есть файлы .dat в моих подкаталогах / user / srav / 20190101 / test1.dat, /user/srav/20180101/test2.dat Мне нужно скопировать их в / user / srav / и заархивировать папки 20190101, 20180101. Пожалуйста, предложите, как мы могли бы реализовать это, используя spark / scala (spark ver 2.0)

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете попробовать hadoop fs . Как то так:

  import org.apache.hadoop.fs._

  val conf2 = spark.sparkContext.hadoopConfiguration
  val fs = FileSystem.get(conf2)

  val srcs = Array("/user/srav/20190101","/user/srav/20180101").map(new Path(_))
  val dst = new Path("/user/srav/")

  fs.moveFromLocalFile(srcs,dst)
...