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


Apache Spark в Azure Databricks

Apache Spark находится в центре платформы аналитики данных Azure Databricks и является технологией вычислительных кластеров и хранилищ SQL. Azure Databricks — это оптимизированная платформа для Apache Spark, которая обеспечивает эффективную и простую платформу для выполнения рабочих нагрузок Apache Spark.

Что такое связь Apache Spark с Azure Databricks?

Компания Databricks была основана оригинальными создателями Apache Spark. Как проект программного обеспечения с открытым исходным кодом, Apache Spark имеет участников из многих ведущих компаний, включая Databricks.

Databricks продолжает разрабатывать и выпускать функции в Apache Spark. Среда выполнения Databricks, которая управляет Azure Databricks, включает дополнительные оптимизации и собственные функции, которые создают и расширяют Apache Spark, включая Photon, оптимизированный уровень выполнения, который можно использовать в сочетании с Spark. Databricks Photon предназначен для работы с Apache Spark и повышения их производительности. Photon повышает производительность Spark путем векторизации запросов и других операций, что позволяет ускорить выполнение операций API SQL и DataFrame.

Как Databricks оптимизировано для Apache Spark?

В Apache Spark все операции определяются как преобразования или действия.

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

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

Так как действия представляют собой узкие места для оптимизации логики, Azure Databricks добавил множество оптимизаций поверх уже имеющихся в Apache Spark, чтобы обеспечить оптимальное исполнение логики. Эти оптимизации учитывают все преобразования, инициируемые заданным действием в совокупности, и находят оптимальный план на основе физического макета данных. Кэширование данных вручную или возврат результатов предварительной версии в рабочих конвейерах может прервать эти оптимизации и привести к увеличению затрат и задержки.

Как Apache Spark работает в Azure Databricks?

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

Можно ли использовать Azure Databricks без использования Apache Spark?

Да. Azure Databricks поддерживает различные рабочие нагрузки и включает библиотеки с открытым кодом в среде выполнения Databricks. Databricks SQL использует Photon под капотом, но конечные пользователи могут использовать синтаксис Spark SQL для создания и запроса объектов базы данных с помощью Photon.

Среда выполнения Databricks для машинного обучения оптимизирована для рабочих нагрузок машинного обучения, и многие специалисты по обработке и анализу данных используют основные библиотеки с открытым исходным кодом, такие как TensorFlow и SciKit Learn при работе с Azure Databricks. Задания можно использовать для планирования произвольных рабочих нагрузок для вычислительных ресурсов, развернутых и управляемых Azure Databricks.

Зачем использовать Apache Spark в Azure Databricks?

Платформа Databricks предоставляет безопасную, совместную среду для разработки и развертывания корпоративных решений, которые масштабируются вместе с вашим бизнесом. Сотрудники Databricks включают многих из самых компетентных в мире разработчиков и пользователей Apache Spark. Компания постоянно разрабатывает и выпускает новые оптимизации, чтобы пользователи могли получать доступ к самой быстрой среде для запуска Apache Spark.

Как узнать больше об использовании Apache Spark в Azure Databricks?

Чтобы приступить к работе с Apache Spark в Azure Databricks, начните уже сейчас! Руководство по Apache Spark DataFrames описывает загрузку и преобразование данных в Python, R или Scala. См. учебник: Загрузка и преобразование данных с помощью Apache Spark DataFrames. Для получения других руководств и ссылок на дополнительную информацию см. Apache Spark в Azure Databricks.

Дополнительные сведения о поддержке языка Python, R и Scala в Spark см. в статье PySpark в Azure Databricks, sparklyr и Azure Databricks для разработчиков Scala, а также в справочнике по API Apache Spark.