SQL Senior CDC и инкрементальная загрузка спрашивают часто обновлено
Применить пачку CDC-событий к таблице
Условие
В cdc_events пачка событий изменений клиентов с позицией в журнале lsn. Примените их к dwh_customers: для каждого id важно только последнее событие по lsn. Если последнее событие d, строку удалить; если c или u, строка должна существовать с данными этого события. Затем выведите dwh_customers: id, name, city по возрастанию id. Порядок строк важен.
Как подойти
Подсказки: 2
DISTINCT ON (id) ... ORDER BY id, lsn DESCдаёт последнее событие.- В
MERGEможно писатьWHEN MATCHED AND условие THEN DELETE.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Outbox и двойная запись
Следующий вопрос
Найти удалённые в источнике строки сверкой ключей
Ещё по теме «CDC и инкрементальная загрузка»
- Удаления в аналитике
- Событие Debezium
- Transactional outbox
- Инкремент по водяному знаку
- Применить события Debezium к состоянию
- Поле op в событии Debezium
- Удаления при инкременте по updated_at
- Спроектируйте репликацию данных сервисов в хранилище через CDC