我收到一个包含数据的
List<org.apache.avro.generic.GenericRecord>
,如下所示(使用JSON表示以便清晰)。我应该如何使用Java最好地保存这些记录类型?
记录1:
[
{
"serial_no" : "x",
"data1" : "d"
},
{
"serial_no" : "y",
"data2" : "d2"
},
............................MANY MORE
]
Record 2:
[
{
"id":"x",
"type":"A"
},
{
"id" : "x",
"type" : "B"
},
{
"id" : "y",
"type" : "A",
},
{
"id" : "y",
"type" : "B"
}
]
正如您在这里看到的,每个“序列号”在record2中有两条记录。 record1中的“serial_no”与record2中的“id”相同。
我的目标是: 找到这两个记录的最快方法。
我想到的解决方案:
创建一个类似于地图的东西
map.put("x", [map.put("A",List), map.put("B",List)]);
但我觉得它是一个复杂的结构。因为map包含映射列表[每个映射都是Map<String,List<Map<String,String>>>]
。
有什么建议吗?
编辑
记录中的每个条目都是avro GenericRecord。