Последовательность Generator Трансформация в информатике
⚡ Умное резюме
Последовательность Generator В Informatica преобразование представляет собой пассивный, связанный объект, который генерирует числовые последовательности для столбцов суррогатного и первичного ключей, передавая каждой строке значение через два фиксированных выходных порта, названных NEXTVAL и CURRVAL.
Что такое последовательность Generator Преобразование?
Последовательность Generator Преобразование является пассивным, поэтому оно не влияет на количество входных строк. Последовательность Generator Используется для генерации значений первичного ключа, а также для генерации числовых последовательностей, таких как 1, 2, 3, 4, 5 и т. д.
Например, если вы хотите присвоить значения последовательности исходным записям, вы можете использовать Sequence. GeneratorСгенерированные значения последовательности могут быть, например, 5, 10, 15, 20, 25 и т. д. или 10, 20, 30, 40, 50 и т. д., в зависимости от настроенных свойств преобразования.
В отличие от большинства преобразований, это преобразование вообще не имеет входных портов. Оно не считывает входящие строки, а просто передает следующее число тому порту, к которому оно подключено, поэтому его можно безопасно размещать рядом с любым конвейером. картаping.
Порты в последовательности Generator трансформация
Последовательность Generator имеет два выходных порта
- КРИВАЯ
- НЕКСТВАЛЬ
Значение порта CURRVAL всегда равно NEXTVAL плюс значение параметра Increment By, поэтому оно читается как NEXTVAL+1, в то время как значение параметра Increment By остается равным 1 по умолчанию.
Для генерации порядковых номеров мы всегда используем столбец NEXTVAL. В таблице ниже приведено краткое описание работы двух портов.
| Порт отгрузки | Что оно возвращает | Когда его подключать? |
|---|---|---|
| НЕКСТВАЛЬ | Следующий номер в последовательности для каждой строки, проходящей через конвейер. | Практически всегда. Это порт, через который передается ключевой столбец в целевом устройстве. |
| КРИВАЯ | NEXTVAL плюс значение приращения. | Только в паре с NEXTVAL. При подключении отдельно, он передает одно и то же постоянное значение для каждой строки. |
Ни один из портов нельзя переименовать или удалить, и нельзя добавить третий порт, поэтому все изменения сгенерированных чисел вносятся на вкладке «Свойства», а не на самих портах.
Свойства последовательности Generator трансформация
- Начальное значение — это первое значение, которое будет сгенерировано преобразованием, значение по умолчанию — 0.
- Увеличить на — это число, на которое вы хотите увеличить значения. Значение по умолчанию — 1.
- Конечное значение — это максимальное значение, которое должно сгенерировать преобразование.
- Цикл – если эта опция установлена, то после достижения конца значения преобразование возобновляется с начального значения.
На той же вкладке отображаются еще три параметра, которые становятся актуальными сразу после передачи данных в другую систему или повторного запуска сессии.
| Свойства | Что он контролирует | По умолчанию |
|---|---|---|
| текущая стоимость | Значение, с которого начинается следующий запуск сессии. Служба интеграции обновляет его в репозитории по мере генерации строк. | 1 |
| Количество кэшированных значений | Сколько значений резервируется в памяти одновременно, чтобы одновременные сеансы никогда не передавали одно и то же число дважды? | 0 означает не подлежащий повторному использованию, 1000 — подлежащий повторному использованию. |
| Сброс | Начинает каждую сессию с исходного текущего значения, вместо продолжения. Недоступно для многократно используемых последовательностей. Generators. | Отключена |
| TracУровень | Уровень детализации записей в журнал сеанса: Краткий, Обычный, Подробный инициализация или Подробные данные. | нормально - Normal |
Как использовать последовательность Generator Трансформация в информатике
В этом примере мы сгенерируем порядковые номера и сохраним их в целевом хранилище. Выполните восемь шагов, описанных ниже, в таблице соответствия.ping Дизайнер.
Шаг 1) Создайте целевую таблицу с помощью следующего скрипта.
Загрузите указанный выше файл emp_sequence.sql.
Шаг 2) Импортируйте таблицу в Informatica в качестве целевой таблицы.
Шаг 3) Создать новую картуping и импортировать таблицы EMP source и EMP_SEQUENCE target. Оба определения теперь отображаются на холсте, как показано ниже.
Шаг 4) Создайте новое преобразование на карте.ping
- Выберите преобразование последовательности в качестве типа.
- Введите имя преобразования «seq_emp»
- Выберите вариант «Создать».
Шаг 5) Последовательность Generator Будет выполнено преобразование, выберите опцию «Готово». Объект seq_emp теперь отображается на холсте с двумя своими портами.
Шаг 6) Свяжите столбец NEXTVAL со столбцом Sequence. Generator в столбец SNO в целевом объекте.
Шаг 7) Свяжите остальные столбцы из квалификатор источника преобразование в целевую таблицу.
Шаг 8) Double нажмите на Последовательность Generator чтобы открыть окно свойств, а затем
- Выберите вкладку свойств
- Введите свойства со стартовым значением = 1, остальные свойства оставьте по умолчанию.
- Выберите кнопку ОК
Теперь сохраните карту.ping и выполнить его после создания Сессия и рабочий.
В столбце sno в целевом файле будут содержаться порядковые номера, сгенерированные функцией Sequence. Generator преобразование.
В нашем примере последовательности будут выглядеть так: 1 – Скотт, 2 – Кинг, 3 – Адам, 4 – Миллер и т. д.
Последовательность многоразового и непереиспользуемого использования Generators
Построенная выше трансформация находится внутри одной карты.pingСоздание его в Transformation Developer, напротив, делает его многоразовым, и при участии более чем одной сессии поведение этих двух инструментов различается.
| Точка сравнения | Non-многоразовые | Многоразовый |
|---|---|---|
| Где оно создано | Внутри одной картыpingна картеping UX/UI дизайнер | В конструкторе преобразований, затем добавить на любое количество карт.pings |
| Количество кэшированных значений | Значение по умолчанию равно 0, поэтому значения не резервируются заранее. | По умолчанию установлено значение 1000, поэтому каждая сессия резервирует свой собственный блок чисел. |
| Сбросить свойство | Доступно и перезапускает последовательность с исходного текущего значения. | Недоступно, поскольку перезапуск выдаст номера, которые уже были использованы в другой сессии. |
| Типичное использование | Один столбец с целевым ключом на одной картеping | Общий суррогатный ключ для нескольких картpingзагрузка того же размера |
Кэширование позволяет разделять параллельные сессии. Каждая сессия получает блок чисел в начале, что означает, что числа остаются уникальными, но не являются непрерывными: любые значения, оставшиеся неиспользованными после завершения сессии, отбрасываются, и начинается следующий блок.
Правила и ограничения последовательности Generator трансформация
Некоторые из них всплывают только после того, как карта будет найдена.ping уже запущены, поэтому дешевле узнать об этом до того, как порты будут связаны.
- Порты фиксированные. Значения NEXTVAL и CURRVAL нельзя редактировать или удалять, и к преобразованию нельзя добавить новые порты.
- Функция CURRVAL сама по себе возвращает константу. Подключайте CURRVAL только тогда, когда NEXTVAL также подключен ниже по потоку, в противном случае каждая строка получает одно и то же значение.
- Две мишени заряжаются одна за другой. Когда NEXTVAL передает данные в две целевые таблицы, в первую целевую таблицу данные загружаются до начала работы со второй, поэтому два набора данных не перемешиваются.
- Пробелы — это нормально. Кэшированные значения, которые не используются в рамках сессии, никогда не возвращаются, поэтому сбой или короткая сессия оставляют пробелы в последовательности. Спроектируйте ключевой столбец таким образом, чтобы он допускал наличие пробелов.
- Цикл может создавать дубликаты. После достижения конечного значения при включенной функции циклической нумерации нумерация начинается заново с начального значения, что приведет к конфликту с существующими ключами, если целевое устройство это не разрешает.
Поскольку преобразование никогда не считывает строки, оно практически ничего не добавляет к времени выполнения сессии, поэтому оно редко становится узким местом во время работы. настройка производительностиВ тех случаях, когда ключ должен зависеть от самих данных, а не от счетчика, Агрегатор or Столярное преобразование Эту работу выполняет объект, а не этот.







