Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе содержится руководство по разработке записных книжек и заданий в Azure Databricks с помощью языка Python, включая учебники по общим рабочим процессам и задачам, а также ссылки на API, библиотеки и инструменты.
Чтобы приступить к работе, выполните приведенные действия.
- Импорт кода: импортируйте собственный код из файлов или репозиториев Git или воспользуйтесь приведенным ниже руководством. Databricks рекомендует использовать для обучения интерактивные записные книжки Databricks.
- Запустите код в кластере: создайте собственный кластер или убедитесь, что у вас есть разрешения на использование общего кластера. Подключите вашу записную книжку к кластеру и запустите её.
- Затем можно:
- Работа с большими наборами данных с помощью Apache Spark
- Добавление визуализаций
- Автоматизация рабочей нагрузки в качестве задания
- Использование машинного обучения для анализа данных
- Разработка в idEs
Учебники
В предложенных ниже учебниках содержатся примеры кода и записных книжек для изучения распространенных рабочих процессов. Обратитесь к Импорт записной книжки для получения инструкций по импорту примеров записных книжек в рабочую область.
Инжиниринг данных
- Руководство по загрузке и преобразованию данных с использованием DataFrames Apache Spark предлагает пошаговое изучение DataFrames Apache Spark для подготовки данных и аналитики.
- Учебное пособие: Delta Lake.
- Руководство. Создание конвейера ETL с помощью записи измененных данных с помощью DLT.
Обработка и анализ данных и машинное обучение
- Начало работы с Apache Spark DataFrames для подготовки и аналитики данных: Руководство: загрузка и преобразование данных с помощью DataFrames Apache Spark
- Руководство. Комплексные классические модели машинного обучения в Azure Databricks. Дополнительные примеры см. в руководствах по искусственному интеллекту и машинному обучению.
- AutoML позволяет быстро приступить к разработке моделей машинного обучения на собственных наборах данных. Этот прозрачный подход создает записные книжки с полным рабочим процессом машинного обучения, которые можно клонировать, изменять и запускать любое количество раз.
- Управление жизненным циклом модели в каталоге Unity
Отладка в записных книжках 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 и использовать их в записных книжках и заданиях.
- Начните с библиотек по умолчанию в примечаниях к выпуску Databricks Runtime, включая версии и совместимость. Используйте Databricks Runtime для рабочих нагрузок машинного обучения. Для получения полного списка предварительно установленных библиотек см. заметки о выпуске и совместимости Databricks Runtime.
- Настройте свою среду с помощью библиотек Python на уровне записной книжки, которые позволяют настраивать среду блокнота или задания с библиотеками из PyPI или других репозиториев. Магическая команда
%pip install my_library
устанавливаетmy_library
на все узлы в текущем подключенном кластере, но не вмешивается в другие рабочие нагрузки в вычислительном процессе со стандартным режимом доступа. - Установите библиотеки, отличные от 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.
Чтобы приступить к работе с общими рабочими нагрузками машинного обучения, см. следующие страницы:
- Обучение scikit-learn и отслеживание с помощью MLflow : 10-минутное руководство: машинное обучение в Databricks с scikit-learn
- Обучение моделей глубокого обучения: глубокое обучение
- Настройка гиперпараметров: параллельная настройка гиперпараметров в Hyperopt
- Аналитика графов: Как использовать GraphFrames в Azure Databricks
Интегрированные среды разработки, средства разработчика и комплекты 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 см. в разделе "Локальные средства разработки".
Дополнительные ресурсы
- Академия Databricks предлагает самоуправляемые курсы и курсы под руководством инструктора по многим темам.
- Databricks Labs предоставляет средства для разработки Python в Databricks, таких как подключаемый модуль pytest и подключаемый модуль pylint.
- Функции, поддерживающие взаимодействие между PySpark и pandas, включают следующие функции:
- Средства подключения к базам данных Python и SQL включают:
- Соединитель SQL Databricks для Python позволяет использовать код Python для выполнения команд SQL в ресурсах Azure Databricks.
- pyodbc позволяет подключаться из локального кода Python через ODBC к данным, хранящимся в databricks lakehouse.
- Часто задаваемые вопросы и советы по перемещению рабочих нагрузок Python в Databricks можно найти в базе знаний Databricks