В настоящее время я пытаюсь разработать ETL для одного из моих клиентов. Данные - это просто адреса больниц, лабораторий и т. Д. Типичная обработка ETL включает
ETL Шаги:
Обработка-EXTRACT
Хранение-ПОСАДКА
- Обработка-ПРОВЕРКА
- Обработка очищающий
- Хранение - STAGING
- Обработка - дополнительная ВАЛИДАЦИЯ + ДЕДУПЛИКАЦИЯ (базовая)
- Обработка - Преобразование
- Загрузка - хранилище данных
Теперь проблема, с которой я сталкиваюсь,
**Source 1: CONTACT_DETAILS**
S1_ID Name email address Address Pin
101 Boston Hosp boston@mail.com 12 EY, Sheffield Road 456453
**Source 2: CONTACT_DETAILS**
S2_ID Name email address Address Pin
102 Boston Hospitals boston@mail.com Sheffield Road 456453
В настоящее время он хранится в моем хранилище данных
DWH.MASTER_CONTACT_DETAILS
CONTACT_ID Name email address Address Pin Source_ID
101 Boston Hosp boston@mail.com 12 EY, 456453 Source1
Sheffield Road
102 Boston Hospitals boston@mail.com Sheffield Road 456453 Source2
Теперь мы все знаем, что требуется стандартизация. Но может кто-нибудь помочь мне дать дизайн данных для создания мастер-стандарта contact_details. Как мне стандартизировать, сохраняя ссылки на исходные записи (ID 101 и 102), поскольку он ссылается на другие таблицы, поступающие из этих источников.
Другим ограничением для дизайна является то, что я буду CONTACT_DET. Источники - все инкрементные файлы, а не полная обработка.
В настоящее время у меня возникает мысль о создании ссылки FK в MASTER_CONTACT_DETAILS и добавлении дополнительного STANDARDIZED_CONTACT_DETAILS, который будет обработан после загрузки этой таблицы MASTER_CONTACT_DETAILS.
Любое предложение о том, как его оформить.
Логическим последующим вопросом (должен быть еще один пост позже) будет алгоритм поиска стандартной записи между неразберихой из двух записей (в данном случае Бостонская больница), для которой не так много совпадений.