1

Я создаю промежуточную область, которая получает данные из informatica cdc. Например, скажем, я реплицирую две таблицы для дополнительной загрузки. Я должен удалить обработанные данные из промежуточных таблиц после каждой загрузки. Я присоединяюсь к этим двум таблицам для заполнения моего целевого измерения. Проблема заключается в том, что изменение может происходить только на одном источнике, а не на другом в конкретной нагрузке.изменить данные захватить несколько таблиц для инкрементной нагрузки - ETL

Пример:

Employee 
--------- 
ID NAME 
1 PETER 

EmployeeSal 
------------ 
EMPID SAL 

1  2000 

Если выше тиражируется в моей первой загрузке, я объединить эти две таблицы и загружать их то отлично.

Теперь можно сказать, что зарплата peter обновляется от 2000 до 3000. Поскольку после каждой загрузки я удаляю свои промежуточные таблицы, у меня будет следующее значение для текущей нагрузки.

Employee 
--------- 
ID NAME 

EmployeeSal 
----------- 
EMPID SAL 

1  3000 

Вот моя проблема ss Я должен заполнить всю строку измерения, которая является TYPE2.

  1. Я должен присоединиться к источнику, чтобы получить другие атрибуты таблицы сотрудников (Это просто хромой пример, на самом деле это может быть 10 таблиц и сотни тысяч изменений). Рекомендуется ли вернуться к источнику?

  2. Я могу присоединиться к целевой таблице этого микса и заполнить недостающие атрибуты.
    Является ли это даже рекомендуемым, поскольку мне приходится делать много аргументов case, nullhandlings и т. Д., Если конкретная промежуточная таблица не имеет изменений для записи измерения. Мой вопрос заключается в том, что даже эта таблица целей объединяется в трансформацию ETL?

+0

Спасибо никогда не должны быть частью хороший вопрос. Отступ предварительно отформатированные блоки текста, выбрав их, а затем Ctrl + K – Anthon

ответ

0

Возвращаясь к исходной системе, в первую очередь отменяет цель создания промежуточной области. Обычно это не рекомендуется.

Однако запрос к целевой таблице довольно распространен, чтобы получить предыдущую информацию. Но это правда, что вам нужно сделать много проверок.

Другой вариант - поддерживать тип scd 1 в вашей промежуточной области. Сохраняйте временные метки вставки и обновления в режиме постановки, которые вы можете использовать для получения только измененных записей при загрузке измерения.

+0

Привет, Спасибо за ответ. Когда вы говорите, что поддерживаете SCD-тип 1 в промежуточной области, нужно ли поддерживать полную копию исходных таблиц в промежуточной области? – user3438120

+0

Да. Возможно, вам понадобится сделать полную загрузку один раз. Затем данные cdc будут продолжать обновлять его. – Samik

0

Я столкнулся с той же проблемой с заголовком заказа и деталями - если изменения деталей мне нужно, чтобы иметь возможность внутреннего соединения с заголовком, чтобы обновить мою сплющенную таблицу фактов заказа.

Я решил это так: после того, как я поставил все измененные записи, я просматриваю любые отсутствующие заголовки для измененных деталей (наоборот), используя SQL-задачу, которая загружает объект с массивом идентификаторов заказов. И я использую для каждого цикла, чтобы получить загрузку отсутствующих заголовков в очередь.

Мой внутренний присоединяется с Диагностирование хранилища данных теперь будет работать, как ожидалось