ParquetWriter не может запустить программу «chmod»

#java #macos #hadoop #parquet #hadoop2

Вопрос:

Привет, я использую mac с текущей версией java 17.0.1-тем временем я пытаюсь создать локальный файл parquet с помощью ParquetWriter : Используя этот код :

 AvroParquetWriter.builder[GenericRecord](path)  .withSchema(avroSchema)  .withCompressionCodec(COMPRESSION_CODE)  .withPageSize(PAGE_SIZE)  .withRowGroupSize(BLOCK_SIZE)  .withDictionaryEncoding(ENABLE_DICT)  .withWriteMode("overwrite")  .withValidation(true)  .build()  

Это вызывает следующее исключение

 Cannot run program "chmod": error=17, File exists java.io.IOException: Cannot run program "chmod": error=17, File exists  at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)  at org.apache.hadoop.util.Shell.runCommand(Shell.java:938)  at org.apache.hadoop.util.Shell.run(Shell.java:901)  at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:1213)  at org.apache.hadoop.util.Shell.execCommand(Shell.java:1307)  at org.apache.hadoop.util.Shell.execCommand(Shell.java:1289)  at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:978)  at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.lt;initgt;(RawLocalFileSystem.java:324)  at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.lt;initgt;(RawLocalFileSystem.java:294)  at org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:439)  at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:428)  at org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:459)  at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.lt;initgt;(ChecksumFileSystem.java:433)  at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:521)  at org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:500)  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1195)  at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:1175)  at org.apache.parquet.hadoop.util.HadoopOutputFile.createOrOverwrite(HadoopOutputFile.java:81)  at org.apache.parquet.hadoop.ParquetFileWriter.lt;initgt;(ParquetFileWriter.java:246)  at org.apache.parquet.hadoop.ParquetWriter.lt;initgt;(ParquetWriter.java:280)  at org.apache.parquet.hadoop.ParquetWriter$Builder.build(ParquetWriter.java:535)  

Комментарии:

1. Не могли бы вы показать немного больше кода. Из ошибки ясно, что файл уже существует. Можете ли вы создать это в «чистой» папке и посмотреть, сохранится ли проблема?

2. Похоже, у вас нет разрешения на запись path (или на создание этого каталога)