读取一个3170字节的avro文件会导致0条记录,因此我感到困惑

读取一个3170字节的avro文件会导致0条记录,因此我感到困惑,avro,Avro,我有一些类似这样的代码,用于一个avro文件(大小=3562),它读取2条记录 private static List<GenericRecord> readAvroToList(File avroFile) { try { DataFileReader<GenericRecord> expectedAvroReader = new DataFileReader<>(avroFile, datumReader); Lis

我有一些类似这样的代码,用于一个avro文件(大小=3562),它读取2条记录

private static List<GenericRecord> readAvroToList(File avroFile) {
    try {
        DataFileReader<GenericRecord> expectedAvroReader = new DataFileReader<>(avroFile, datumReader);
        List<GenericRecord> records = new LinkedList<>();
        while (expectedAvroReader.hasNext()) {
            records.add(expectedAvroReader.next());
        }
        return records;
    } catch (IOException e) {
        throw SneakyThrow.sneak(e);
    }
}
我认为这段代码与产品相匹配,但我真的说不出来,因为没有像我们其他系统那样的版本信息。不过,我有90%的信心

我可以读取没有架构的avro文件吗?。我的意思是,我确实读过“当您将Avro文件加载到BigQuery中时,表模式会自动从自描述的源数据中检索。”这是否意味着我不需要schama来读取它?我的意思是,我确实尝试了这段代码,而不是使用模式

谢谢, 院长

        LoadJobConfiguration loadConfig = LoadJobConfiguration.of(tableId, sourceUri, FormatOptions.avro());
        // Load data from a GCS CSV file into the table
        Job job = client.create(JobInfo.of(loadConfig));