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