Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Эта функция доступна в бета-версии. Чтобы использовать его, администратор рабочей области должен включить преобразователь кода агента на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
Агентный конвертер кода использует Genie Code для преобразования существующего SQL из таких диалектов, как T-SQL, Snowflake, Redshift, Oracle, BigQuery и Teradata, в код, работающий на Azure Databricks. Вы организуете свою работу в проекте по миграции и выбираете целевой фреймворк для вывода: SQL для генерации SQL-запросов Databricks или Notebooks для создания ноутбуков Databricks с использованием API DataFrame. Конвертер анализирует каждый исходный скрипт, проверяет конвертированный результат и итеративно исправляет ошибки перед записью результатов в папку рабочего пространства.
Конвертер кода агента является частью средства Databricks для переноса рабочих нагрузок из существующих хранилищ данных и средств ETL в Azure Databricks. Он преобразует исходный SQL во время организации и отслеживания работы в проекте миграции.
Принцип работы
Вы начинаете преобразование с создания проекта миграции в своей рабочей области. Проект отслеживает состояние каждого файла и предоставляет отдельное место для управления миграцией.
Когда вы запускаете преобразование, Genie Code вызывает навык миграции и развёртывает субагентов, которые параллельно преобразуют файлы. Каждый субагент анализирует исходный диалект, генерирует эквивалентный код для целевого фреймворка проекта (Databricks SQL или ноутбук Databricks), проверяет результат и повторяет неудачные разделы. Преобразованные файлы записываются непосредственно в папку рабочей области, указанную для проекта.
Вы также можете преобразовать отдельный файл или папку, не используя проект, с помощью команды /migrate в диалоге Genie Code.
Requirements
- Рабочая область с поддержкой бета-версии Agentic Code Converter. Администратор рабочей области включает функцию на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".
- Существующие SQL-файлы должны быть доступны в вашей рабочей области: либо загружены как файлы рабочей области, либо открыты в редакторе.
- Рабочая область должна соответствовать требованиям к коду Genie. См. код Genie.
Поддерживаемые источники и ограничения
Преобразователь поддерживает следующие исходные диалекты:
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- Teradata
При создании проекта по миграции выберите один из следующих целевых фреймворков:
- SQL: SQL-запросы Databricks, совместимые с ANSI.
-
Notebooks: ноутбуки Databricks, использующие API DataFrame, с
spark.sqlдля логики, которую понятнее выразить в SQL.
Следующие ограничения применяются к каждому преобразованию:
- Пакет может содержать не более 300 файлов.
- Скрипт может содержать не более 1000 строк.
- Скрипты BTEQ Teradata пока не поддерживаются.
Преобразование существующего кода SQL
Ниже описано, как преобразовать существующий SQL в проекте миграции.
Шаг 1. Отправка исходных файлов
Отправьте существующие ФАЙЛЫ SQL (.sql) с помощью браузера файлов рабочей области или используйте интерфейс командной строки Databricks для массовой отправки каталога скриптов.
Шаг 2. Создание проекта миграции
Создайте проект миграции из рабочей области:
- Щелкните
>Проект миграции. - Введите имя проекта.
- Используйте раскрывающийся список селекторов, чтобы выбрать диалект источника и целевую платформу. Для целевого фреймворка выберите SQL для генерации SQL-запросов Databricks или Notebooks для создания ноутбуков Databricks.
- Введите путь к целевой папке назначения. Нажмите кнопку "Обзор" , чтобы выбрать место назначения из списка доступных папок рабочей области.
- (Необязательно) Введите путь к файлу Lineage , описывающего происхождение проекта. Нажмите кнопку "Обзор" , чтобы выбрать файл из списка файлов в рабочей области.
- Нажмите кнопку Создать.
Шаг 3. Добавление файлов в проект
В новом проекте:
- Нажмите кнопку "Добавить файлы>+ Добавить файлы".
- Выберите исходную папку или файл из рабочей области.
Проект перечисляет каждый файл со своим типом файла, числом строк и состоянием преобразования.
Шаг 4. Проверка сложности кода и происхождения (необязательно)
Если вы запустили анализатор Lakebridge, загрузите его JSON-вывод в проект, чтобы проверить сложность кода и его происхождение. Щелкните исходный файл, чтобы открыть оценку сложности, и щелкните Lineage , чтобы открыть граф зависимостей, в который отображаются взаимозависимые файлы и таблицы, которые необходимо перенести вместе. Инструкции по запуску анализатора см. в руководстве по Анализатору Lakebridge.
Шаг 5. Запуск преобразования
Выберите файлы для преобразования и нажмите кнопку "Выполнить". Genie Code начинает диалог, вызывает навык переноса и задействует субагентов для параллельного преобразования файлов. Каждый преобразованный файл отображается как связанный файл в проекте. Преобразователь помечает каждый файл с состоянием:
- Зеленый: успешно преобразован
- Желтый: требуется проверка
- Красный: сбой преобразования
- Серый: В процессе
Шаг 6. Просмотр результатов преобразования
Для проектов SQL щелкните конвертированный файл, чтобы открыть параллельное сравнение в редакторе SQL, где исходный код показан рядом с предлагаемым кодом Databricks SQL. Примите все предлагаемые изменения или просмотрите и примите отдельные изменения. Для проектов Notebooks нажмите преобразованный файл, чтобы открыть созданный notebook Databricks. Для сценариев, которые не удается преобразовать, измените код в редакторе или попросите Genie Code повторно проверить или повторить определенные разделы. Когда результат вас устроит, запустите преобразованный 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, чтобы узнать, как преобразователь обрабатывает нетривиальные шаблоны. - Семантическая правильность. Выполните исходные и преобразованные запросы к эквивалентным тестовым данным и сравните результаты. Убедитесь, что выходные данные семантично правильны, а не только синтаксически допустимы.