Rekor — компания, работающая с данными в сфере транспорта. Данные приходят от множества провайдеров и сохраняются в datalake. Каждое событие-инцидент сохраняется с уникальным id, временем логирования (log_time), статусом (CREATED, CONFIRMED, REJECTED) и segment_id — участком дороги, на котором произошёл инцидент.
Задание #1 — SQL
Таблица Incidents: log_time, incident_id, status, segment_id. Таблица Account_segments: account_id, segment_id (например: Ayalon → a, e; Texas → b, c; California → d; New-York → g). Таблица Segment_metadata: segment_id, length_meters (a — 400, b — 500, c — 100, d — 150, e — 700).
BI-команде нужно найти все инциденты, которые были «живыми» (live) на участках, принадлежащих аккаунтам Ayalon, Texas и California. «Живой» инцидент — это инцидент в статусе CREATED или CONFIRMED. Результат должен содержать: incident_id, segment_id, segment_length, account_id. Напишите SQL-запрос.
Задание #2 — метод
Дан файл вида Time_stamp, incident_id, где у каждого инцидента два появления: первое — создание инцидента, второе — его завершение.
Напишите метод, который принимает путь к файлу и временную метку (timestamp) и выводит число «живых» инцидентов на эту дату. Например, для 2020-10-08 метод вернёт 5, для 2020-10-10 — 2.