У меня есть HDFS и немного текста, я хочу создать файл с текстом. Я пытался использовать HDFS API и FSDataOutputStream
, но получил исключение. Не могли бы вы помочь мне, пожалуйста, разрешите это.
Исключение:
Исключение в потоке "main" java .lang.IllegalArgumentException: Неправильный FS: hdfs: / user / user1, ожидается: file: /// в org. apache .had oop .fs.FileSystem.checkPath (FileSystem. java: 647) в org. apache .had oop .fs.RawLocalFileSystem.pathToFile (RawLocalFileSystem . java: 82) в орг. apache .had oop .fs.RawLocalFileSystem.mkdirsWithOptionalPermission (RawLocalFileSystem. java: 513) в орг. apache .had oop .fs.RawLocalFileSystem.mkdirs (RawLocalFileSystem. java: 499) в орг. apache .had oop .fs.ChecksumFileSystem.mkdirs (ChecksumFileSystem. java: 594) в орг. apache .had oop .fs.ChecksumFileSystem .create (ChecksumFileSystem. java: 448) в орг. apache .had oop .fs.ChecksumFileSystem.create (ChecksumFileSystem. java: 435) в орг. apache .had oop .fs .FileSystem.create (FileSystem. java: 909) в орг. apache .had oop .fs.FileSystem.create (FileSystem. java: 890) в орг. apache .had oop .fs.FileSystem.create (FileSystem. java: 787) в или g. apache .had oop .fs.FileSystem.create (FileSystem. java: 776) в com.example.FileBuilder $ .buildFile (FileBuilder. scala: 23)
The код
val fs = FileSystem.get(new Configuration())
val path = new Path(s"hdfs:////user/" + "fileName.sql")
val fsDataOutputStream = fs.create(path)
val outputStreamWriter = new OutputStreamWriter(fsDataOutputStream, "UTF-8")
val bufferedWriter = new BufferedWriter(outputStreamWriter)
bufferedWriter.write(data)
bufferedWriter.close()
outputStreamWriter.close()
fsDataOutputStream.close()