У меня есть вопрос, касающийся сопоставления данных (сопоставление данных - это процесс сопоставления полей данных из исходного файла и связанных с ними целевых полей).
Я использую красное смещение в качестве своего склада, и я смотрел на службы интеграции, такие как fivetran и stitch , но не отвечал моим требованиям:
- У меня есть журналы машин, извлеченные по расписанию и сохраненные на s3 (как плоский каталог / корзина)
- Журналы, генерируемые разными устройствами, не говорят на одном языке (то есть два разных столбца от двух разных устройств могут отображаться на одну и ту же цель)
- Схема изменения журналов машин (можно добавить новый столбец, удалить некоторый столбец ...)
Исходные данные не готовы для моделирования хранилища, поэтому на данный момент я создаю задание преобразования / очистки для каждого варианта использования из этого плоского каталога.
В бизнес-сценарии может использоваться генерация некоторых отчетов, которые включают в себя некоторые метрики и значения kpi, все необходимые сопоставления и преобразования выполняются внутри ETL-клея aws (pyspark).
который затем записывает в красное смещение, что позволяет мне использовать dbt для генерации моих моделей.
Итак, мой вопрос, где мне делать все сопоставления для моих данных?
- Сохранить текущую реализацию
- Во время приема запускайте лямбда-функцию, чтобы объединить несколько исходных схем в цель
- Что-то еще ..
Существуют ли какие-либо передовые практики в этой области, которые могут помочь в этом вопросе?
Я ищу решение, которое также дает мне видимость изменений схемы (определить, когда и где происходят изменения)