spark 遷移資料
阿新 • • 發佈:2018-11-21
有時候我們經常會用到以下場景,比如說將各種各樣的檔案從一個地方複製到另外一個地方,類似於hadoop 的dstcp功能,當然我們可以通過各種hdfs或者s3命令,以下的demo就是通過spark去實現類似這樣的功能
val source="" val target="" val data=sc.binaryFiles(source) data.foreach(x =>{ val path=target + x._2.getPath().substring(x._2.getPath().lastIndexOf("/")) val dir = new Path(path) val fs = FileSystem.get(URI.create(path),conf) val inputStream = x._2.open() val outStream: FSDataOutputStream = fs.create(dir) IOUtils.copyBytes(inputStream, outStream, 4096, true) outStream.close() inputStream.close() fs.close() })