#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
(или на создание этого каталога)