Пересчет исторических данных с помощью Apache Beam

У меня есть проект потоковой передачи Apache Beam, который вычисляет данные и записывает их в базу данных. Как лучше всего повторно обработать все исторические записи после исправления ошибки или после изменения способа обработки данных без большой задержки?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
22
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это очень зависит от приложения.

Например, простой подход, если вы используете Kafka (и все данные там):

  • Остановите и перезапустите задание (или, если вы вообще не хотите простоя, запустите другое задание, пока другое продолжает работать) без использования точки сохранения:
    • Используйте другую группу потребителей Kafka, чтобы не связываться с существующим конвейером.
    • Установите новую базу данных в качестве выходных данных, чтобы создать ее содержимое с нуля.
    • Масштабируйте задание, чтобы оно завершилось повторной обработкой как можно быстрее.
  • Переключить старую базу данных на новую атомарно
  • Уменьшите объем работы

Другие вопросы по теме