Выбор правильной структуры данных - PullRequest
0 голосов
/ 01 мая 2019

Я пишу 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"
}

Общееэлементы данных - это сущность, объект и источник, и мне нужно получать информацию о приоритете и типе данных из метаданных (первого источника) при манипулировании данными из второго источника.

Я надеюсь, что это может дать более полное представление о моей проблеме, поэтому мне нужносначала сохраните метаданные в некоторой структуре данных, прежде чем манипулировать данными из второго источника, чтобы я мог эффективно выполнять поиск требуемых значений.

...