AVRO Tool 1.8.2 - выдает ошибку, вызванную: java.io.IOException: неверная синхронизация! по линии 245
У меня есть требование объединить файлы avro и отправить их в хранилище BLOB-объектов Azure. Я объединил это, и затем я пытаюсь прочитать это снова, я получаю ошибку.
У меня есть файл, в котором авро файлы объединяются с помощью snappy. Во время выполнения следующей команды:
java -jar .\avro-tools-1.8.2.jar tojson inputfile
Я получаю ошибку
Exception in thread "main" org.apache.avro.AvroRuntimeException: java.io.IOException: Invalid sync!
Я отладил код и строку ниже, где syncBufferis по сравнению с header.sync создает проблему. Любые идеи, в чем может быть проблема.
DataFileStream.DataBlock nextRawBlock(DataFileStream.DataBlock reuse) throws IOException {
if (!this.hasNextBlock()) {
throw new NoSuchElementException();
} else {
if (reuse != null && reuse.data.length >= (int)this.blockSize) {
reuse.numEntries = this.blockRemaining;
reuse.blockSize = (int)this.blockSize;
} else {
reuse = new DataFileStream.DataBlock(this.blockRemaining, (int)this.blockSize);
}
this.vin.readFixed(reuse.data, 0, reuse.blockSize);
this.vin.readFixed(this.syncBuffer);
this.availableBlock = false;
if (!Arrays.equals(this.syncBuffer, this.header.sync)) {
throw new IOException("Invalid sync!");
} else {
return reuse;
}
}
}