Использование Genie Code для разработки конвейеров

Genie Code в режиме агента — это ИИ-помощник по инженерии данных для разработчиков в редакторе конвейеров Lakeflow Pipelines. Исследует данные, генерирует и запускает код пайплайна, а также исправляет ошибки по одному запросу.

Замечание

На этой странице описывается использование Genie Code для разработки и переноса декларативных конвейеров Spark в конвейерах Lakeflow (SDP). Чтобы преобразовать устаревший SQL из других диалектов, таких как T-SQL, Snowflake или Oracle, в ANSI SQL, используйте вместо этого преобразователь кода агента. См. раздел "Преобразование SQL" с помощью преобразователя кода агента.

Что такое Genie Code для разработки конвейеров?

Genie Code в режиме агента — это автономный помощник, который может автоматизировать целые многоэтапные рабочие процессы инженерии данных в редакторе Lakeflow Pipelines.

Используйте агент инженерии данных.

По сравнению с режимом чата Genie Code режим агента имеет расширенные возможности: планирование решения, получение соответствующих ресурсов, выполнение кода, использование выходных данных конвейера для улучшения результатов, автоматическое исправление ошибок и многое другое.

Код Genie в режиме агента может планировать и создавать целые конвейерные цепочки от начала до конца или ускорять процесс работы с уже существующей. Агент работает с вами, чтобы утвердить свои планы и подтвердить дальнейшие действия, прежде чем продолжить. При вашем разрешении Genie Code может использовать средства для выполнения таких задач, как поиск в таблицах, редактирование исходного файла SQL или Python, чтение наборов данных конвейера и выполнение обновлений конвейера.

Доступ и действия Genie Code управляются разрешениями пользователя. Он может получить доступ только к данным, к которым у вас есть доступ и выполнять операции, для которых у вас есть разрешения.

Замечание

Если включить режим агента в Genie Code, Genie Code адаптирует свои возможности на основе функций, которые вы сейчас используете в Databricks. Например, в редакторе Lakeflow Pipelines Genie Code фокусируется на редактировании конвейеров данных и задачах обработки данных. В записных книжках и редакторе SQL Genie Code поддерживает изучение и анализ данных. Дополнительные сведения см. в разделе "Код Genie" для обработки и анализа данных .

Требования

Чтобы использовать Genie Code для обработки данных, вашей рабочей среде потребуется следующее:

Использование Genie Code для разработки конвейеров

Чтобы использовать агентические возможности Genie Code для разработки конвейеров:

  1. В редакторе конвейеров Lakeflow откройте боковую панель Genie Code, нажав значок кода Sparkle Genie.Код Genie в правом верхнем углу рабочей области.

  2. В правом нижнем углу выберите агент. Этот параметр переключается в режиме агента Genie Code, что позволяет использовать возможности разработки агентных данных Genie Code.

  3. Введите запрос на код Genie. Например, вы можете задать вопросы о конвейере, например "описать этот конвейер". Вы также можете попросить его добавить новые наборы данных, например "создать silver_sales_data в новом файле, который считывает bronze_sales_data и очищает данные и добавляет полезные ожидания качества".

    Замечание

    Genie Code учитывает разрешения пользователя в каталоге Unity, поэтому может получить доступ только к тем источникам данных и потокам обработки, которые вам доступны.

  4. Так как Genie Code создает свой ответ, он часто приостанавливается, чтобы получить входные данные:

    • Для более сложных задач Genie Code может создать пошаговый план и задать уточняющие вопросы. Ответьте на его уточняющие вопросы, чтобы помочь ему улучшить свой план.

    • Когда Genie Code должен запускать код или обновлять пайплайн, он запрашивает ваше утверждение, прежде чем продолжить. Разрешить или отклонить запрос. Вы также можете выбрать Разрешить в этой ветке (имеется в виду ветка беседы Genie Code) или Всегда разрешать.

      Это важно

      Код Genie в режиме агента может создавать и выполнять код в конвейере. Хотя он имеет ограничения, чтобы предотвратить опасные действия, все равно существует риск. Его следует использовать только с данными, которыми вы доверяете, и перед запуском кода следует просмотреть код.

    • Так как Genie Code продолжает работу, вам может потребоваться выбрать "Продолжить " или "Отклонить". Просмотрите существующую работу, а затем нажмите кнопку "Продолжить ", чтобы продолжить дальнейшие действия или отклонить ее, чтобы сообщить ей о чем-то другом.

    • Чтобы остановить код Genie во время работы, щелкните красный значок «Стоп».

Genie Code может создавать новые файлы, создавать текст, запросы и код, запускать файлы или конвейеры и получать доступ к выходным наборам данных для интерпретации результатов.

Замечание

Чтобы Genie Code продолжал свою работу и предпринял следующие шаги, необходимо оставаться на текущей вкладке, на которой он работает.

Подсказка

Вы можете добавить инструкции для Genie Code, чтобы использовать их в большинстве ответов. Например, если у вас есть соглашения о коде, которые вы хотите использовать, или предпочитаемые библиотеки, можно добавить эти рекомендации в инструкции по Genie Code. Вы также можете создавать навыки, чтобы расширить возможности Кода Genie с помощью специализированных умений для задач вашего домена. Дополнительные сведения и другие советы см. в советах по улучшению ответов Genie Code.

Возможности режима агента

В режиме агента Код Genie может помочь в большинстве задач разработки конвейеров. Ключевые возможности:

  • Обнаружение данных. Код Genie может выполнять поиск таблиц в рабочей области, чтобы помочь вам найти необходимые данные для задачи.
  • Изменения потока данных: Genie Code может создавать и изменять несколько файлов одновременно. Он информирует вас о том, какие файлы изменяются, и показывает различия в коде в каждом файле, чтобы вы могли просматривать изменения по отдельности или все вместе, когда закончите.
  • Выполнение конвейера: Код Genie может запускать отдельные файлы; выполнять тестовый или основной запуск конвейера; или выполнить полное обновление. Когда Genie Code хочет продолжить, он запрашивает подтверждение перед этим.
  • Понимание и улучшение поведения конвейера. Код Genie может проверять наборы данных и выходные данные конвейера, чтобы понять, что конвейер выполняет сквозно и почему. Например, он может суммировать преобразования, отслеживать потоки данных в подчиненные таблицы и выделять непредвиденные изменения в счетчиках строк или схемах. При возникновении потенциальных проблем с качеством данных Genie Code поможет вам подумать о их причинах и предложить, где и как их устранить в конвейере.

Эти возможности поддерживают распространенные варианты использования, такие как:

  • Создание нового конвейера: Genie Code может помочь во всех шагах по созданию конвейера архитектуры медальона, от приема данных до стандартизации и очистки данных, преобразования и анализа данных.
  • Объясните конвейер: Код Genie может анализировать и объяснить существующий конвейер, чтобы быстро увеличить масштаб.
  • Исправление проблем: При возникновении ошибок Код Genie может помочь в диагностике и устранении проблем, обрабатывая несколько файлов, пока проблема не будет решена.
  • Исправьте инкрементальное обновление: Когда материализованные просмотры в вашем пайплайне обновляются с использованием стратегии полного пересчитывания, Genie Code может определить причину на основе инкрементальных инсайтов пайплайна, предложить и применить улучшения запросов, которые делают их более подходящими для инкрементального обновления, и отметить жёсткие блокирующие элементы.

Миграция из других платформ ETL в конвейеры Lakeflow

Это важно

Эта функция доступна в бета-версии.

Genie Code может перенести существующий проект преобразования данных в конвейер Lakeflow. Вы указываете свой загруженный проект, а система планирует и выполняет миграцию от начала до конца. Эта возможность переноса входит в состав Lakebridge и также доступна в транспилировщике Lakebridge Switch.

Замечание

На данный момент миграция поддерживает только проекты dbt и Informatica. Планируется поддержка дополнительных источников.

Перенос проекта

  1. Отправьте проект в Databricks. Используйте один из следующих вариантов:

    • Каталог: откройте том, а затем отправьте его в этот том.
    • Рабочая область: откройте каталог и щелкните значок меню Kebab.>Импорт.
  2. Создайте пустой конвейер Lakeflow. Перейдите к заданиям и конвейерам и создайте конвейер ETL.

  3. Попросите Genie Code перенести его. Откройте Genie Code и укажите путь к загруженному проекту, например:

    Подсказка

    Перенос проекта в /Volumes/my_catalog/my_schema/my_volume/my_project

Как работает миграция

После запуска миграции Genie Code создает план, а затем выполняет его:

  1. Прочитайте исходный текст. Он считывает исходный проект для понимания своих моделей, преобразований и зависимостей.
  2. Сбор входных данных. Он приостанавливается, чтобы запросить необходимые входные данные, например, нужно ли сгенерировать исходный код конвейера на SQL или Python.
  3. Изучите и сгенерируйте промежуточное представление (IR). Он анализирует проект и создает промежуточное представление, которое фиксирует логику конвейера независимо от исходного средства.
  4. Преобразование, проверка и восстановление. Он преобразует IR в исходный код конвейера, проверяет результат и повторяет этот процесс в цикле исправления, пока конвейер не станет корректным.

Замечание

Просмотрите источник перенесенного конвейера и запустите конвейер, чтобы убедиться, что результаты соответствуют исходному проекту, прежде чем полагаться на него в рабочей среде.

Примеры

Попробуйте начать с этих запросов:

  • "Создание и запуск конвейера медальонной архитектуры для обнаружения мошенничества, используя таблицы транзакций и клиентов в my_catalog.my_schema."
  • "Объясните каждый шаг этого конвейера".
  • Исправьте сбой в этом конвейере.

Дополнительные ресурсы