Сегодня продолжение перевода документации о конструкторе моделей ODI. Здесь находится первая часть перевода.
Генерация DDL скриптов.
Когда изменения в структурах таблиц происходят на сервере СУБД, вы обычно делаете реверс-инжиниринг измененных таблиц, чтобы получить новые метаданные и сохранить их в репозитории ODI.
Когда диаграма или модель данных создана в ODI или в нем же изменена, необходимо перенести изменения на сервер СУБД. Эти изменения переносятся с помощью DDL скриптов. Эти скрипты генерируются в виде процедур ODI, шаги которых выполняют отдельные DDL команды (создать таблицу, создать индекс и т.п.). Эти процедуры могут быть выполнены на нужном сервере данных.
Примечание: шаблоны DDL скриптов определены как Action Groups. Проверьте в Менеджере Технологий, что у вас установлены соответствующие шаблоны для необходимой технологии перед тем, как запускать генерацию скриптов.
Для генерации DDL скриптов необходимо:
- Выбрать модель данных для таблиц которой необходимо сгенерировать скрипты.
- Правой кнопкой мыши выбрать команду Generate DDL.
Oracle Data Integrator получит структуры данных из схемы данных и сравнит их с существующими данными модели. Процесс выполнения этих действий отобразится в строке статуса. После окончания этого процесса отобразится диалоговое окно Generate DDL, в котором отобразятся различие между физической схемой и логической структурой данных в моделях ODI. - Выберите необходимый набор DDL шаблонов, который будет использован при генерации DDL скриптов.
- Определите папку, в которой будут сохранены процедуры выполнения скриптов.
- Выберите категорию изменений, которые вы хотите внедрить с помощью скриптов.
Примечание: выбор категории через фильтр влияет только на отображение списка изменений в диалоговом окне. Уже выбранные для внедрения изменения могут не отображаться при выборе другой категории. - Выберите изменения, которые необходимо внедрить, путем установки галочки в пункте Synchronization. Следующие знаки показывают возможные типы изменений:
-: Элемент есть в модели, но его нет на сервере данных.
+: Элемент есть на сервере, но его нет в модели.
=: Элемент есть и в модели и на сервере, но некоторые свойства элемента не совпадают (например, отличаются размеры колонки или новая колонка добавлена в таблицу). - Нажмите ОК для генерации процедуры с DDL скриптами.
Oracle Data Integrator сгенерирует соответствующие DDL скрипты и откроет процедуру с этими скриптами для редактирования.
Генерирование интерфейсов IN/OUT.
Для модели или таблицы, созданных через Конструктор Моделей, Oracle Data Integrator может сгенерировать:
- Interfaces IN: Эти интерфейсы интеграции для загрузки таблиц, структура которых собрана в КМ из других таблиц. В этих интерфейсах строится процесс интеграции данных, соединяющий данные из оригинальных источников в сборную таблицу результата.
- Interfaces OUT: Эти интерфейсы интеграции используются для извлечения данных из таблиц модели. Они генерируются с учетом интерфейсов, которые загружают указанные таблицы, включая Interfaces IN. Эти интерфейсы организовывают возврат потока данных, направляя его от собранной таблицы к исходным таблицам источникам.
Для генерации входных интерфейсов (Interfaces IN):
- Выберите модель или таблицу.
- Правой кнопкой мыши выполните команду Generate Interfaces IN.
Oracle Data Integrator начнет поиск исходных таблиц и колонок, которые были использованы для построения текущей модели или таблицы.
Далее появится диалоговое окно с перечнем таблиц, для которых будут построены входные интерфейсы. - Выберите контекст оптимизации для интерфейсов.
- Выберите папку проекта, в которой будут сохранены интерфейсы.
- Поставьте крестик напротив тех таблиц, интерфейсы для которых должны быть сгенерированы.
- Введите другое имя для интерфейса, при необходимости.
- Нажмите ОК для начала генерации. После создания новый интерфейс автоматически откроется для редактирования.
Внимание!
Полученный интерфейс не всегда может быть сразу использован без надлежащей проверки и внесения необходимых модификаций.
Примечание:
Если при выполнении команды генерации интерфейсов IN в списке нет ни одной нужной вам таблицы кандидата, скорее всего ваши таблицы не были собраны в конструкторе моделей из других таблиц или их колонок.
Для генерации выходных интерфейсов (Interfaces OUT):
- Выберите модель или таблицу.
- Правой кнопкой мыши выполните команду Generate Interfaces OUT.
Oracle Data Integrator начнет поиск интерфейсов, загружающих выбранную таблицу или таблицы выбранной модели. После этого появится диалоговое окно с перечнем тех таблиц, для которых возможна генерация исходящих интерфейсов. - Выберите контекст оптимизации для интерфейсов.
- Выберите папку проекта, в которой будут сохранены интерфейсы.
- Для каждой выбранной целевой таблицы, для которой необходимо сгенерировать интерфейс необходимо установить галочку в колонке Generation, так же следует поступить для каждой таблицы кандидата.
- Введите другие наименования для интерфейсов, при необходимости.
- Нажмите ОК и, после генерации интерфейсы будут сохранены в выбранной папке, а затем открыты для редактирования.
Внимание!
Полученные интерфейсы не всегда могут быть сразу использованы без надлежащей проверки и внесения необходимых модификаций.
Примечание:
Если при выполнении команды генерации выходных интерфейсов для заданной таблицы, в списке нет ни одной таблицы кандидата, скорее всего ODI не смог найти ни одного интерфейса, который бы загружал данные в выбранную таблицу. А без этих интерфейсов нельзя сгенерировать выходные интерфейсы.
Для тех, кто смог дочитать до конца этого длинного текста, небольшой бонус в виде объяснения того, как я понимаю возможность использования конструктора моделей ODI.
Рассмотрим ситуацию, когда нам необходимо подключить новый источник данных к Хранилищу Данных. Скорее всего, нам необходимо будет выполнить две задачи, связанные с загрузкой данных в область стейджа, первая - создание структур таблиц источников на стейдже, вторая - создание интерфейсов, загружающих эти таблицы.
- Администратор настраивает новую физическую и соответствующую ей логическую схему данных.
- Далее мы создаем новую модель данных и осуществляем реверс таблиц из источника. Если в источнике определены первичные ключи таблиц, внешние ключи и т.п. ODI их получит и создаст соответствующие объекты в модели и таблицах модели.
- Далее нам необходимо создать новую диаграмму, которая будет принадлежать модели данных для нашей области стейджа. Перетаскиваем необходимые нам таблицы источники в эту модель, и, одновременно, получаем копии этих таблиц в нашей модели стейджа.
- Далее из копий таблиц путем генерации DDL скриптов получаем физические таблицы в области стейджа. Первая задача выполнена.
- Путем генерации входных интерфейсов (Generate Interface IN) получаем решение второй задачи, т.е. набор, по меньшей мере заготовок, которые немного доработав можно привести к принятому на проекте виду, добавить, при необходимости фильтры и использовать.
- Если же речь идет не о загрузке данных в область стейджа, а, например, об использовании Oracle Data Integrator для работы со специальной БД для обработки данных (Operational Data Store) может понадобиться использование функций генерации выходных интерфейсов (Generate Interface OUT).
- Кроме того, Action Group, которые используются для генерации DDL скриптов, также написаны с использованием методов подстановки, что дает возможность разрабатывать свои подпрограммы генерации.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.