我正在编写一个Java应用程序,从两个源接收相关数据,从第一个源接收一次所有数据项,从第二个源接收连续流的数据。 这两个数据项中都有一些公共字段,我需要在操作第二个源中的数据的同时对第一个源中的数据执行搜索操作,因此我在第二个源的数据中添加了必填字段。 不确定最好的数据结构是从第一个来源存储数据的最佳方式,因此我可以在处理第二个来源的数据时搜索相关项目。
我在这里解释数据,均为JSON格式 第一个来源数据来自AWS s3存储桶,它实际上是一个元数据项,在从第二个来源处理数据之前,我正在从存储桶中读取整个数据
{
"id":"abc",
"entity":"some_entity",
"feature":"some_feature",
"originalFeature":"some_feature",
"dataType":"date",
"example":"01/10/2018T12:00:00.444",
"source":"some_source",
"priority":1,
"ts":"2018-10-30T10:19:57.556"
}
具有连续流的第二个来源的数据
{
"id":"xyz",
"entity":"some_entity",
"feature":"some_feature",
"value":"some_value",
"source":"some_source",
"seq":1,
"ts":"2019-04-24T16:03:32.398"
}
常见的数据项是实体,特征和源,在处理来自第二个源的数据时,我需要从元数据(第一个源)获取优先级和dataType信息。
我希望它可以更好地说明我的问题,因此在处理来自第二个来源的数据之前,我需要先将元数据保留在某种数据结构中,这样我才能有效地搜索所需的值。