Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в бета-версии. Чтобы использовать его, администратор рабочей области должен включить преобразователь кода агента на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Преобразователь кода агента использует Код Genie для преобразования существующего SQL из диалектов, таких как T-SQL, Snowflake, Redshift, Oracle, BigQuery и Teradata в ANSI SQL, работающий на Azure Databricks. Вы упорядочиваете работу в проекте миграции, где преобразователь анализирует каждый исходный скрипт, проверяет преобразованные выходные данные и итеративно исправляет ошибки перед записью результатов в папку рабочей области.
Конвертер кода агента является частью средства Databricks для переноса рабочих нагрузок из существующих хранилищ данных и средств ETL в Azure Databricks. Он преобразует исходный SQL во время организации и отслеживания работы в проекте миграции.
Принцип работы
Вы начинаете преобразование с создания проекта миграции в своей рабочей области. Проект отслеживает состояние каждого файла и предоставляет отдельное место для управления миграцией.
Когда вы запускаете преобразование, Genie Code вызывает навык миграции и развёртывает субагентов, которые параллельно преобразуют файлы. Каждый подагент анализирует исходный диалект, создает эквивалент ANSI SQL, проверяет результат и выполняет повторные попытки, которые завершаются сбоем. Преобразованные файлы записываются непосредственно в папку рабочей области, указанную для проекта.
Вы также можете преобразовать отдельный файл или папку, не используя проект, с помощью команды /migrate в диалоге Genie Code.
Requirements
- Рабочая область с поддержкой бета-версии Agentic Code Converter. Администратор рабочей области включает функцию на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
- Существующие SQL-файлы должны быть доступны в вашей рабочей области: либо загружены как файлы рабочей области, либо открыты в редакторе.
- Рабочая область должна соответствовать требованиям к коду Genie. См. код Genie.
Поддерживаемые источники и ограничения
Преобразователь поддерживает следующие исходные диалекты:
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- Teradata
Преобразователь предназначен для ANSI SQL. Следующие ограничения применяются к каждому преобразованию:
- Пакет может содержать не более 300 файлов.
- Скрипт может содержать не более 1000 строк.
- Скрипты BTEQ Teradata пока не поддерживаются.
Преобразование существующего кода SQL
Ниже описано, как преобразовать существующий SQL в проекте миграции.
Шаг 1. Отправка исходных файлов
Отправьте существующие ФАЙЛЫ SQL (.sql) с помощью браузера файлов рабочей области или используйте интерфейс командной строки Databricks для массовой отправки каталога скриптов.
Шаг 2. Создание проекта миграции
Создайте проект миграции из рабочей области:
- Щелкните
>Проект миграции. - Введите имя проекта.
- Используйте раскрывающийся список селекторов, чтобы выбрать диалект источника и целевую платформу.
- Введите путь к целевой папке назначения. Нажмите кнопку "Обзор" , чтобы выбрать место назначения из списка доступных папок рабочей области.
- (Необязательно) Введите путь к файлу Lineage , описывающего происхождение проекта. Нажмите кнопку "Обзор" , чтобы выбрать файл из списка файлов в рабочей области.
- Нажмите кнопку Создать.
Шаг 3. Добавление файлов в проект
В новом проекте:
- Нажмите кнопку "Добавить файлы>+ Добавить файлы".
- Выберите исходную папку или файл из рабочей области.
Проект перечисляет каждый файл со своим типом файла, числом строк и состоянием преобразования.
Шаг 4. Проверка сложности кода и происхождения (необязательно)
Если вы запустили анализатор Lakebridge, загрузите его JSON-вывод в проект, чтобы проверить сложность кода и его происхождение. Щелкните исходный файл, чтобы открыть оценку сложности, и щелкните Lineage , чтобы открыть граф зависимостей, в который отображаются взаимозависимые файлы и таблицы, которые необходимо перенести вместе. Инструкции по запуску анализатора см. в руководстве по Анализатору Lakebridge.
Шаг 5. Запуск преобразования
Выберите файлы для преобразования и нажмите кнопку "Выполнить". Genie Code начинает диалог, вызывает навык переноса и задействует субагентов для параллельного преобразования файлов. Каждый преобразованный файл отображается как связанный файл в проекте. Преобразователь помечает каждый файл с состоянием:
- Зеленый: успешно преобразован
- Желтый: требуется проверка
- Красный: сбой преобразования
- Серый: В процессе
Шаг 6. Просмотр результатов преобразования
Щелкните преобразованный файл, чтобы открыть параллельный дифф в редакторе SQL с исходным кодом рядом с предлагаемым Databricks SQL. Примите все предлагаемые изменения или просмотрите и примите отдельные изменения. Для сценариев, которые не удается преобразовать, измените код в редакторе или попросите Genie Code повторно проверить или повторить определенные разделы. После удовлетворения запустите преобразованный SQL в записной книжке или редакторе SQL, чтобы убедиться, что он выполняется в Azure Databricks.
Создайте пользовательский навык (необязательно)
Пользовательские навыки позволяют задавать бизнес-правила, которые Genie Code автоматически применяет при каждом преобразовании. Используйте их для обработки частных типов данных, применения предпочтительных целевых шаблонов или отслеживания исправлений, которые вы делаете многократно. Навык миграции — это навык Genie Code, поэтому вы можете создавать и управлять ими так же, как и любой другой навык. Дополнительные сведения см. в разделе "Расширение кода Genie" с помощью навыков агента.
Вы можете создать навык в настройках Genie Code или в чате Genie Code. Используйте путь параметров для сложных навыков, включающих подробные инструкции, примеры или вспомогательные файлы. Используйте путь чата для быстрых навыков с одним правилом.
Параметры кода Genie
Создайте навык в виде файла, чтобы создать подробные инструкции и его версию в папке Git:
На панели Genie Code нажмите
Настройки, затем нажмите
Открыть папку навыков.
Создайте папку для своего навыка в каталоге навыков рабочей области по пути
Workspace/.assistant/skills/. Например:Workspace/.assistant/skills/sql-migration/.В папке навыка создайте файл
SKILL.mdс необходимыми метаданными и вашими правилами преобразования. Рассмотрим пример.--- name: sql-migration description: Conversion rules to apply when migrating legacy SQL to ANSI SQL. --- Always convert the custom type MYDATE to TIMESTAMP_NTZ.
Genie Code применит навык при следующем запуске конвертации.
Чат Genie Code
Опишите правило преобразования, которое нужно закодировать, а затем попросите Genie Code сохранить его:
Tip
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
Genie Code создает и регистрирует навык и применяет его к будущим преобразованиям в рабочей области.
Чтобы просмотреть активные навыки:
Tip
Show me my migration skills
Чтобы удалить навык, выполните приведенные действия.
Tip
Delete the migration skill for [description]
Навыки рабочей области хранятся на уровне рабочей области и доступны всем пользователям этой рабочей области.
Советы по тестированию
В рамках своего агентического цикла преобразователь анализирует каждый исходный скрипт, проверяет, что преобразованные выходные данные синтаксически допустимы и семантично эквивалентны источнику, и итеративно исправляет разделы, которые завершаются ошибкой перед записью результатов. Следующие советы помогут вам проверить и получить уверенность в выходных данных:
- Пакетное преобразование: Преобразуйте небольшой пакет из двух–пяти файлов за один сеанс, чтобы убедиться, что многофайловое преобразование работает от начала до конца.
- Проверка синтаксиса: после преобразования запустите выходные данные в редакторе ИЛИ записной книжке Databricks SQL, чтобы убедиться, что он выполняется без ошибок.
-
Пограничные варианты: включите скрипт с конструкторами, зависящими от диалекта, такими как функции окна T-SQL, Snowflake
QUALIFYили RedshiftLISTAGG, чтобы узнать, как преобразователь обрабатывает нетривиальные шаблоны. - Семантическая правильность. Выполните исходные и преобразованные запросы к эквивалентным тестовым данным и сравните результаты. Убедитесь, что выходные данные семантично правильны, а не только синтаксически допустимы.