У меня есть программа Spark
, которая начинает создавать сеть Франции (города, местные органы власти ...) в наборе данных за определенный год. Затем он используется для других операций: локальный учет, поиск среди предприятий и т. Д.
Набор данных в терминах бизнес-правил довольно сложен для создания: много фильтров, проверки многих типов, и я не знаю,заранее, как звонящий, который просит это, будет использовать это. Но в большинстве случаев он запрашивает набор данных на 2019 год, потому что ему нужно только " Все города, существующие во Франции сегодня. ".
Моя программа, приведенная ниже, успешно возвращает результатына 2019 год. Следующий абонент также звонит в города 2019 года: Spark
перезапускается против всей работы, которую он делал раньше ...
Какой здесь принцип оптимизации?
Должен ли я хранить в своей программе на том же уровне, где я храню сеанс искры, который я использую для запросов и сборки, что-то вроде Map<Integer, Dataset>
, где ключ - это год, а набор данных - тот, который вхотя бы один звонивший спросил за этот год?