Есть ли какой-либо шаг или логика, которая будет поддерживать тип SCD 1 помимо шага вставки / обновления в Пентахо?

Есть ли какой-либо шаг или логика, которая будет поддерживать тип SCD 1 отдельно от шага вставки / обновления. Что касается поддержки этого для больших данных, это занимает огромное время. Это простой шаг, когда max(время обновления) из таблицы, которую мы получаем, и данные после этой даты обновления берутся и просто вставляются в целевую таблицу на основе бизнес-ключа в Insert/Update. Подробное объяснение было бы полезно

1 ответ

Решение

Для управления чистыми измерениями вы можете использовать поиск / обновление комбинации или поиск / обновление измерений (при типе обновления = обновление или пробивка, он ведет себя как тип SCD I).

Тем не менее, они всегда будут иметь одну и ту же проблему: поездки в БД, обходящиеся вам в скорости. Они несколько смягчают его, кэшируя, но этого может быть недостаточно, в зависимости от того, сколько обновлений может потребоваться.

Другой альтернативой является использование комбинаций вывода таблицы + шаги обновления с использованием следующего трюка:

  1. Создать уникальный индекс в БД для полей, которые являются ключами SCD;
  2. Попробуйте вставить все записи, используя шаг вывода таблицы. Те строки, которые уже существуют в БД, будут отклонены.
  3. Добавьте шаг обновления после вывода таблицы, но вместо того, чтобы соединять его с черным переходом, "основным выходом шага", подключите его через красный переход обработки ошибок.

Строки, которые не существуют в БД, будут вставлены выводом таблицы без каких-либо поисков. те, которые потерпели неудачу (потому что они уже существуют), будут отправлены на шаг обновления.

Другие вопросы по тегам