Описание задачи. Разработать ETL процесс, получающий ежедневную выгрузку данных (предоставляется за 3 дня), загружающий ее в хранилище данных (реализация SCD2) и ежедневно строящий отчет.
Выгрузка данных. Ежедневно некие информационные системы выгружают следующие файлы:
- Список транзакций за текущий день. Формат – CSV.
- Список терминалов полным срезом. Формат – XLSX.
- Список паспортов, включенных в «черный список» - с накоплением сначала месяца. Формат – XLSX.
После загрузки соответствующего файла он должен быть переименован в файл с расширением .backup чтобы при следующем запуске файл не искался и перемещен в каталог archive.
Сведения о картах, счетах и клиентах хранятся в СУБД Oracle в схеме BANK.
Построение отчета. По результатам загрузки ежедневно необходимо строить витрину отчетности по мошенническим операциям. Витрина строится накоплением, каждый новый отчет укладывается в эту же таблицу с новым report_dt.
Признаки мошеннических операций.
- Совершение операции при просроченном или заблокированном паспорте.
- Совершение операции при недействующем договоре.
- Совершение операций в разных городах в течение одного часа.
- Попытка подбора суммы. В течение 20 минут проходит более 3х операций со следующим шаблоном – каждая последующая меньше предыдущей, при этом отклонены все кроме последней. Последняя операция (успешная) в такой цепочке считается мошеннической.