Создание правил для преобразования наборов данных
Вы можете создавать многократно используемые правила преобразования для выполнения глобального преобразования наборов данных в задачах данных Репликация, Выгрузка, Хранение, Преобразование, и Витрина данных.
Выберите Наборы данных, нажмите Правила преобразования, а затем Добавить правило преобразования, чтобы создать новое правило преобразования.
-
Выберите тип преобразования и нажмите Далее.
Можно выполнять следующие преобразования:
-
Переименование наборов данных
-
Переопределение публикации сообщений данных
Примечание к информации-
Доступно только для целевого объекта Kafka.
-
Если используется Data Movement gateway (требуется для локальной версии Kafka), необходима версия 2025.5.40 или более поздняя.
-
-
Переименование столбцов
-
Добавление столбцов
-
Исключение столбцов
-
Преобразование типов данных
-
Замена значений столбцов
-
-
Выберите область преобразования и нажмите Далее.
-
Выберите действие преобразования для выполнения и нажмите Далее.
-
Укажите имя и описание правила и нажмите Готово.
Правило будет применено при запуске задачи данных. Если добавлено несколько правил, они выполняются в указанном порядке.
Область преобразования
Если к одному и тому же набору данных или столбцам применяется несколько преобразований, область действия всегда относится к исходным именам источников, тогда как действие относится к значению после применения предыдущего правила. Например, если у вас есть следующие правила:
-
Переименовать все наборы данных, начинающиеся с Abc_ (Abc_%), чтобы изменить префикс на ABC_.
-
Добавить суффикс _zzz к наборам данных, начинающимся с ABC_ (ABC_%).
Применение этих правил к данным наборам данных даст следующие результаты. Обратите внимание, что после второго правила суффикс _zzz не добавляется к ABC_customers, так как область действия всегда относится к исходному имени (Abc_customers).
| Исходное имя набора данных | Имя набора данных после правила 1 | Имя набора данных после правила 2 |
|---|---|---|
|
Abc_customers |
ABC_customers |
ABC_customers |
|
ABC_Suppliers |
ABC_Suppliers |
ABC_Suppliers_zzz |
Переименование наборов данных
-
Выберите Переименовать набор данных, а затем нажмите Далее.
-
Задайте область преобразования, то есть наборы данных, которые необходимо переименовать. Можно использовать символ % в качестве подстановочного знака для выбора нескольких наборов данных из одного или нескольких ресурсов данных.
Нажмите Далее.
-
Задайте действие преобразования. Можно выполнять следующие действия:
-
Переименовать набор данных в фиксированное имя.
-
Добавить префикс или суффикс.
-
Удалить префикс или суффикс.
-
Заменить префикс или суффикс.
-
Изменить регистр на нижний или верхний.
-
Заменить имена наборов данных с помощью выражения.
-
Заменить имена наборов данных с помощью словаря.
Для получения дополнительной информации см. Переименование наборов данных или столбцов с помощью словаря.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
Настройка публикации сообщений данных
-
Выберите Настроить публикацию сообщений данных, а затем нажмите Далее.
-
Задайте область преобразования, то есть наборы данных, для которых необходимо переопределить параметры публикации сообщений данных. Можно использовать символ % в качестве подстановочного знака для выбора нескольких наборов данных из одного или нескольких ресурсов данных.
Нажмите Далее.
-
Задайте действие преобразования.
Для каждой настройки текущая настройка задачи указывается в поле Настройка задачи: <настройка> (например, Настройка задачи: Определенная тема).
Описание этих настроек см. в разделе Публикация сообщения с данными.
Вы можете сохранить настройку задачи или использовать построитель выражений для указания пользовательской темы, ключа сообщения или ключа раздела.
Примечание к информацииЭти настройки заменят настройки задачи, но не заменят настройки, сконфигурированные для отдельных наборов данных.Чтобы использовать построитель выражений:
-
Выберите Пользовательская тема, Пользовательский ключ сообщения или Пользовательский ключ раздела поле по мере необходимости и нажмите
.
Примечание к информацииПользовательские темы должны уже существовать, или брокер должен быть настроен на их создание.Откроется построитель выражений.
-
Создайте выражение.
Можно использовать функции, операторы и метаданные для построения выражения.
Нажмите
, чтобы переместить объект в выражение.
В выражении также можно использовать все функции, поддерживаемые Kafka.
-
Нажмите Извлечь параметры.
Теперь можно добавить тестовое значение ко всем параметрам. Нажмите для этого Значение для проверки (Value to test).
-
Нажмите Проверить выражение.
Выводится результат выражения, полученный по тестовым значениям.
-
По завершении нажмите кнопку ОК.
Выражение добавляется в поле.
Построение выражений
Требуется построить выражение, которое будет определять пользовательские значения. Для этих целей можно использовать:
-
Функции
Функции, работающие со строками, числами, датами и временем, а также функции для проверки нулевого значения и логические функции.
-
Операторы
Математические и логические операторы Некоторые операторы доступны в панели инструментов над выражением. Там же находится оператор объединения строк, ||.
-
Метаданные
Доступны следующие метаданные:
- $Q_M_ИМЯ_СХЕМЫ
- $Q_M_SOURCE_SCHEMA_NAME
- $Q_M_SOURCE_TABLE_NAME
- $Q_M_TABLE_NAME
Нажмите
, чтобы переместить объект в выражение.
В выражении также можно использовать все функции, поддерживаемые Kafka.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
Переименование столбцов
-
Выберите Переименовать столбец, а затем нажмите Далее.
-
Задайте область преобразования, то есть столбцы, которые необходимо переименовать. Можно использовать символ % в качестве подстановочного знака для выбора нескольких столбцов из одной или нескольких задач данных и наборов данных.
Также можно ограничить действие определенным типом данных. Задайте для типа данных значение UNSPECIFIED, чтобы выполнить действие для всех соответствующих столбцов независимо от типа данных.
Нажмите Далее.
Также можно ограничить область действия столбцами, которые являются ключами или могут принимать значение NULL.
-
Задайте действие преобразования. Можно выполнять следующие действия:
-
Переименовать столбец в фиксированное имя.
-
Добавить префикс или суффикс.
-
Удалить префикс или суффикс.
-
Заменить префикс или суффикс.
-
Изменить регистр столбца на нижний или верхний.
-
Заменить имена столбцов с помощью выражения.
-
Заменить имена столбцов с помощью словаря.
Для получения дополнительной информации см. Переименование наборов данных или столбцов с помощью словаря.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
Добавление столбцов
-
Выберите Добавить столбец, а затем нажмите Далее.
-
Задайте область преобразования, то есть набор данных, в который необходимо добавить столбец. Можно использовать символ % в качестве подстановочного знака для добавления столбца в один или несколько наборов данных.
Нажмите Далее.
-
Задайте сведения о новом столбце:
-
Имя столбца.
-
Используйте конструктор выражений, чтобы задать Значение для столбца.
-
Выберите Добавить в первичный ключ, чтобы использовать этот столбец в качестве первичного ключа.
-
Задайте тип данных в поле Целевой тип данных.
-
Если тип данных — BYTES, STRING или WSTRING, также укажите параметр Длина.
Если тип данных — NUMERIC, также укажите параметры Πрецизионность и Масштаб.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
Исключение столбцов
-
Выберите Исключить столбец, а затем нажмите Далее.
-
Задайте область преобразования, то есть столбцы, которые необходимо исключить. Можно использовать символ % в качестве подстановочного знака для выбора нескольких столбцов из одного или нескольких ресурсов данных и наборов данных.
Также можно ограничить действие определенным типом данных. Задайте для типа данных значение UNSPECIFIED, чтобы выполнить действие для всех соответствующих столбцов независимо от типа данных.
Нажмите Далее.
Также можно ограничить область действия столбцами, которые являются ключами или могут принимать значение NULL.
-
Задайте имя правила и нажмите Готово.
Преобразование типов данных
-
Выберите Преобразовать тип данных, а затем нажмите Далее.
-
Задайте область преобразования, то есть столбцы, для которых необходимо преобразовать тип данных. Можно использовать символ % в качестве подстановочного знака для выбора нескольких столбцов из одного или нескольких ресурсов данных и наборов данных.
Также можно ограничить действие определенным типом данных. Задайте для типа данных значение UNSPECIFIED, чтобы выполнить действие для всех соответствующих столбцов независимо от типа данных.
Нажмите Далее.
Также можно ограничить область действия столбцами, которые являются ключами или могут принимать значение NULL.
-
Задайте действие преобразования.
-
Задайте в поле Целевой тип данных тип данных, в который необходимо выполнить преобразование.
-
Если тип данных — BYTES, STRING или WSTRING, также укажите параметр Длина.
Если тип данных — NUMERIC, также укажите параметры Πрецизионность и Масштаб.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
См. также: Управление типами данных
Замена значений столбцов
-
Выберите Заменить значения столбцов, а затем нажмите Далее.
-
Задайте область преобразования, то есть столбцы, для которых необходимо заменить значения. Можно использовать символ % в качестве подстановочного знака для выбора нескольких столбцов из одного или нескольких ресурсов данных и наборов данных.
Также можно ограничить действие определенным типом данных. Задайте для типа данных значение UNSPECIFIED, чтобы выполнить действие для всех соответствующих столбцов независимо от типа данных.
Нажмите Далее.
Также можно ограничить область действия столбцами, которые являются ключами или могут принимать значение NULL.
-
Задайте действие преобразования.
-
Задайте выражение для определения заменяющих значений в поле Целевое значение.
-
Задайте в поле Целевой тип данных тип данных для заменяемых столбцов.
-
Если тип данных — BYTES, STRING или WSTRING, также укажите параметр Длина.
Если тип данных — NUMERIC, также укажите параметры Πрецизионность и Масштаб.
Нажмите Далее, когда будете готовы.
-
-
Задайте имя правила и нажмите Готово.
Переименование наборов данных или столбцов с помощью словаря
Для переименования наборов данных или столбцов можно использовать словарь. Это полезно при работе с большим количеством объектов, в которых используются непонятные соглашения об именах. Можно добавить переводы в редакторе словаря или импортировать CSV-файл, содержащий переводы. Также можно выполнить экспорт словаря в CSV-файл и использовать его повторно в другом ресурсе данных.
Параметр Переименовать по словарю доступен в разделе Действия преобразования, если выбрано Переименовать наборы данных или Переименовать столбцы. Нажмите , чтобы открыть редактор словаря.
-
Нажмите Добавить перевод и заполните поля Имя источника и Переведенное имя, чтобы добавить перевод в словарь.
После создания необходимых переводов нажмите ОК, чтобы закрыть редактор словаря.
Импорт переводов
Можно импортировать переводы из CSV-файла, содержащего словарь. Файл должен содержать по одному переводу в каждой строке. Пример:
-
Нажмите Добавить из CSV и выберите CSV-файл для импорта.
Переводы из импортированного словаря будут добавлены в ваш словарь.
Экспорт переводов
Можно выполнить экспорт словаря в CSV-файл, чтобы использовать его повторно в других ресурсах данных.
-
Нажмите Экспортировать в CSV.
Словарь будет экспортирован в CSV-файл.
Включение метаданных в выражение
Вкладка Метаданные в редакторе выражения содержит следующие переменные, которые можно использовать в выражении в правиле преобразования.
| Переменная | Описание |
|---|---|
|
$Q_D_COLUMN_DATA |
Значение столбца в исходной таблице. |
|
$Q_M_COLUMN_NAME |
Измененное имя столбца. |
|
$Q_M_DATATYPE_LENGTH |
Измененная длина типа данных столбца. |
|
$Q_M_DATATYPE_NAME |
Измененный тип данных столбца. |
|
$Q_M_DATATYPE_PRECISION |
Измененная Πрецизионность типа данных столбца. |
|
$Q_M_DATATYPE_SCALE |
Измененный масштаб типа данных столбца. |
|
$Q_M_SCHEMA_NAME |
Имя исходной схемы. |
|
$Q_M_SOURCE_COLUMN_NAME |
Имя столбца в исходной таблице. |
|
$Q_M_SOURCE_DATATYPE_LENGTH |
Длина типа данных столбца в исходной таблице. |
| $Q_M_SOURCE_DATATYPE_NAME | Тип данных столбца в исходной таблице. |
|
$Q_M_SOURCE_DATATYPE_PRECISION |
Πрецизионность типа данных столбца в исходной таблице. |
|
$Q_M_SOURCE_DATATYPE_SCALE |
Масштаб типа данных столбца в исходной таблице. |
|
$Q_M_SOURCE_TABLE_NAME |
Имя исходной таблицы. |
|
$Q_M_TABLE_NAME |
Измененное имя исходной таблицы. |
Можно переименовать все таблицы в области преобразования, чтобы добавить имя схемы в качестве префикса с помощью следующего выражения:
${Q_M_SCHEMA_NAME}||'.'||${Q_M_SOURCE_TABLE_NAME}.
Это, например, переименует таблицу products в схеме dwprod в dwprod.products.
Управление правилами
Управлять правилами можно на панели Правила .
-
Нажмите Правила.
Можно включить/отключить правило, удалить правило и изменить правило.