Я пытаюсь использовать Pentaho Data Integration / Pan для создания таблицы типа 2 (SCD).
После того, как я впервые проверил свои данные через шаг DimensionLookup, я получил тип 2таблица выглядит так:
PKID version date_from date_to MyPK Field1 Field2 ...
150 1 1900-01-01 00:00:00 2199-12-31 23:59:59 1 "X" "Y" ...
Пока все хорошо.Затем позже я получил новые данные, обновил свою исходную таблицу и выполнил тот же шаг DimensionLookup, и все измененные записи выглядели так:
PKID version date_from date_to MyPK Field1 Field2 ...
150 1 1900-01-01 00:00:00 2010-06-24 03:45:00 1 "X" "Y" ...
151 2 2010-06-24 03:45:00 2199-12-31 23:59:59 1 "X2" "YYY" ...
Это выглядит хорошо,тоже.Но для записей, которые были добавлены в мой набор данных с прошлого раза, они добавляются с date_from = '1900-01-01 00:00:00'.(И если подумать, это немного странно, что моя первоначальная загрузка тоже использовала date_from = '1900-01-01 00:00:00'.)
Я использую запуск по умолчаниюdate, которая утверждает, что это текущее время системы, хотя я также попробовал "start_trans" ("Дата начала трансформации"), которая сделала то же самое, за исключением использования временной метки 9 часами ранее (1899-12-31).
Я не могу понять, как использование 1900 для всех новых записей имеет смысл: вы не можете сказать, что было добавлено, когда, поскольку похоже, что каждая новая запись существовала с начала времен.Я даже искал тип 2 в книге Кимбалла, и хотя он не был сверхъестественным, он, казалось, указывал, что вновь вставленные значения должны иметь в качестве даты_с момента, когда они начинают действовать.
Это ошибкав PDI?Есть ли обходной путь?Я просто использую это неправильно?Я неправильно понимаю весь смысл типа-2?
Спасибо!