Поделиться через


Azure Databricks для разработчиков на Python

В этом разделе содержится руководство по разработке записных книжек и заданий в Azure Databricks с помощью языка Python, включая учебники по общим рабочим процессам и задачам, а также ссылки на API, библиотеки и инструменты.

Чтобы приступить к работе, выполните приведенные действия.

Учебники

В предложенных ниже учебниках содержатся примеры кода и записных книжек для изучения распространенных рабочих процессов. Инструкции по импорту примеров записных книжек в рабочую область см. в этой статье.

Инжиниринг данных

Обработка и анализ данных и машинное обучение

Отладка в записных книжках Python

В примере записной книжки показано, как использовать отладчик Python (pdb) в записных книжках Databricks. Чтобы использовать отладчик Python, необходимо запустить Databricks Runtime 11.3 LTS или более поздней версии.

С помощью Databricks Runtime 12.2 LTS и более поздних версий можно использовать обозреватель переменных переменных Python для отслеживания текущего значения переменных Python в пользовательском интерфейсе записной книжки. Обозреватель переменных можно использовать для пошагового перехода по точкам останова и наблюдения за значениями переменных Python.

Пример записной книжки отладчика Python

Получите записную книжку

Примечание.

breakpoint() не поддерживается в IPython и поэтому не работает в записных книжках Databricks. Вместо этого можно использовать import pdb; pdb.set_trace()breakpoint().

API Python

Код Python, выполняемый за пределами Databricks, обычно будет успешно выполняться в Databricks, и наоборот. Если у вас есть код, просто импортируйте его в Databricks, чтобы приступить к работе. Дополнительные сведения см. в статье "Управление кодом с помощью записных книжек и папок Git Databricks".

Databricks может выполнять рабочие нагрузки на одном компьютере и распределенные рабочие нагрузки Python. Для вычислений на одном компьютере можно использовать API и библиотеки Python обычными образом, например pandas и scikit-learn будут работать "как есть". Для распределенных рабочих нагрузок Python Databricks предлагает два популярных API из поля: PySpark и Pandas API в Spark.

API PySpark

PySpark — это официальный API Python для Apache Spark и объединяет возможности Python и Apache Spark. PySpark является более гибким, чем API Pandas в Spark и обеспечивает обширную поддержку и функции для обработки и анализа данных, таких как Spark SQL, структурированная потоковая передача, MLLib и GraphX.

API Pandas в Spark

Примечание.

Проект Koalas с открытым исходным кодом теперь рекомендует перейти на API Pandas в Spark. API Pandas в Spark доступен в кластерах, которые выполняют Databricks Runtime 10.0 (EoS) и более поздних версий. Для кластеров с Databricks Runtime 9.1 LTS и более ранних версий вместо нее следует использовать Koalas.

Пакет pandas для Python часто используется специалистами по обработке и анализу данных. Однако pandas не масштабируется до больших данных. API Pandas в Spark позволяет устранить этот недостаток, предоставляя API-интерфейсы со всеми возможностями pandas для работы в Apache Spark. Этот API с открытым кодом идеально подходит для специалистов по обработке и анализу данных, которые уже работали с pandas, но не знакомы с Apache Spark.

Управление кодом с помощью записных книжек и папок Databricks Git

Записные книжки Databricks поддерживают язык Python. Функциональные возможности этих записных книжек аналогичны возможностями Jupyter с некоторыми дополнениями, например: встроенные визуализации с использованием больших данных, интеграции Apache Spark для отладки и мониторинга производительности, интеграции MLflow для отслеживания экспериментов машинного обучения. Начните с импорта записной книжки . Получив доступ к кластеру, вы сможете подключить записную книжку к этому кластеру и запустить записную книжку.

Совет

Чтобы сбросить состояние блокнота, перезапустите ядро iPython. Для пользователей Jupyter параметр "перезапустить ядро" в Jupyter соответствует отключению и повторному подключению записной книжки в Databricks. Чтобы выполнить перезапуск ядра в записной книжке Python, на панели инструментов записной книжки щелкните селектор вычислений и наведите указатель мыши на подключенный кластер или хранилище SQL в списке, чтобы отобразить боковое меню. Выбрать Отсоединить & повторно присоединить. Это действие отсоединяет записную книжку от кластера и повторно подключает ее, что приводит к перезапуску процесса Python.

Папки Databricks Git позволяют пользователям синхронизировать записные книжки и другие файлы с репозиториями Git. Папки Databricks Git помогают в работе с версиями кода и совместной работой, а также могут упростить импорт полного репозитория кода в Azure Databricks, просмотр последних версий записных книжек и интеграцию с разработкой интегрированной среды разработки. Начните с клонирования удаленного Git-репозитория. Затем можно открыть или создать записные книжки с клонированием репозитория, подключить записную книжку к кластеру и запустить записную книжку.

Кластеры и библиотеки

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

  • Для небольших рабочих нагрузок, для которых требуются только отдельные узлы, специалисты по обработке и анализу данных могут использовать вычислительные ресурсы с одним узлом для экономии затрат.
  • Подробные советы см. в рекомендациях по настройке вычислений
  • Администраторы могут настроить политики кластера для упрощения и руководства по созданию кластера.

Кластеры Azure Databricks используют среду выполнения Databricks Runtime, которая в стандартной конфигурации содержит множество популярных библиотек, в том числе Apache Spark, Delta Lake и pandas. Кроме того, можно устанавливать дополнительные сторонние или пользовательские библиотеки Python и использовать их в записных книжках и заданиях.

Визуализации

Записные книжки Azure Databricks для Python имеют встроенную поддержку множества типов визуализаций. Вы также можете использовать устаревшие визуализации.

Вы также можете визуализировать данные с помощью сторонних библиотек. Некоторые по умолчанию устанавливаются в Databricks Runtime, и вы можете добавить любые пользовательские библиотеки. Вот некоторые популярные варианты:

Работы

Рабочие нагрузки Python можно автоматизировать как запланированные или триггерные задания в Databricks. Задания могут выполнять записные книжки, скрипты Python и файлы колесика Python.

  • Создавайте и обновляйте задания с помощью пользовательского интерфейса Databricks или REST API Databricks .
  • Пакет SDK для Python Databricks позволяет создавать, изменять и удалять задания программным способом.
  • Интерфейс командной строки Databricks предоставляет удобный интерфейс командной строки для автоматизации заданий.

Совет

Чтобы запланировать скрипт Python вместо записной книжки, используйте поле spark_python_task в разделе tasks в тексте запроса на создание задания.

Машинное обучение

Databricks поддерживает широкий спектр рабочих нагрузок машинного обучения, включая традиционное машинное обучение по табличным данным, глубокое обучение для компьютерного зрения и обработки естественного языка, системы рекомендаций, графовую аналитику и многое другое. Общие сведения о машинном обучении в Databricks см. в статье "ИИ и машинное обучение" в Databricks.

Для алгоритмов машинного обучения можно использовать предварительно установленные библиотеки в Databricks Runtime для Машинное обучение, включая популярные инструменты Python, такие как scikit-learn, TensorFlow, Keras, PyTorch, Apache Spark MLlib и XGBoost. Вы также можете установить пользовательские библиотеки.

Для операций машинного обучения (MLOps) Azure Databricks предоставляет управляемую службу для библиотеки MLflow открытый код. С помощью отслеживания MLflow можно записывать разработку моделей и сохранять модели в многократно используемых форматах. Реестр моделей MLflow можно использовать для управления и автоматизации продвижения моделей в рабочую среду. Задания и обслуживание моделей позволяют размещать модели в виде пакетных и потоковых заданий и в качестве конечных точек REST. Дополнительные сведения и примеры см. в MLflow для генеративного ИИ-агента и жизненного цикла модели машинного обучения или документации по API Python MLflow.

Чтобы приступить к работе с общими рабочими нагрузками машинного обучения, см. следующие страницы:

Идентификаторы, средства разработчика и пакеты SDK

Вы можете вести разработку кода Python не только в записных книжках Azure Databricks, но и в любых внешних средах, используя PyCharm, Jupyter, Visual Studio Code и другие интегрированные среды разработки (IDE). Для синхронизации работы между внешними средами разработки и Databricks можно использовать несколько механизмов.

  • Код. Вы можете синхронизировать код с помощью Git. См . сведения об интеграции с Git для папок Databricks Git.
  • Библиотеки и задания. Вы можете создавать библиотеки (например, файлы колес Python) и отправлять их в Databricks. Такие библиотеки можно импортировать в записные книжки Databricks или использовать для создания заданий. Общие сведения о оркестрации в Databricks см. в библиотек и.
  • Выполнение на удаленном компьютере. Вы можете запустить код из локальной интегрированной среды разработки для интерактивной разработки и тестирования. Интегрированная среда разработки может взаимодействовать с Azure Databricks для выполнения Apache Spark и больших вычислений в кластерах Azure Databricks. См. статью Databricks Connect.

Databricks предоставляет набор пакетов SDK, включая пакет SDK для Python, который поддерживает автоматизацию и интеграцию с внешними инструментами. Пакеты SDK Databricks можно использовать для управления ресурсами, такими как кластеры и библиотеки, код и другие объекты рабочей области, рабочие нагрузки и задания и многое другое. См. пакеты SDK Databricks.

Дополнительные сведения о средах разработки, инструментах разработчика и пакетах SDK см. в локальных инструментах разработки.

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