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


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 можно использовать для управления ресурсами, такими как кластеры и библиотеки, код и другие объекты рабочей области, рабочие нагрузки и задания и многое другое. Смотрите Databricks SDK.

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

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