Что такое Photon?

В этой статье описываются преимущества выполнения рабочих нагрузок в обработчике запросов Photon.

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

Функции фотона

Ниже приведены ключевые функции и преимущества использования Photon.

  • Поддержка операций SQL и эквивалентных операций DataFrame с таблицами Delta и Parquet.
  • Ускоренные запросы, которые обрабатывают данные быстрее и включают агрегаты и соединения.
  • Более высокая производительность при многократном обращении к данным из кэша диска.
  • Надежная производительность сканирования в таблицах с большим количеством столбцов и большим количеством небольших файлов.
  • Быстрая запись данных Delta и Parquet с помощью UPDATE, DELETE, MERGE INTO, INSERTи CREATE TABLE AS SELECT, включая широкие таблицы, содержащие тысячи столбцов.
  • Заменяет объединения с сортировкой и слиянием хэш-соединениями.
  • Для рабочих нагрузок, связанных с искусственным интеллектом и машинным обучением, Photon улучшает производительность приложений, использующих Spark SQL, Spark DataFrames, создание признаков, GraphFrames и xgboost4j.

Фотонное обеспечение

Активация Photon зависит от типа вычислительных систем:

  • Photon выполняется по умолчанию на SQL-складах и бессерверных вычислениях для ноутбуков и рабочих процессов.
  • Photon включен по умолчанию для вычислительных операций, работающих на основе Databricks Runtime 9.1 LTS и выше.
  • Фотон можно включить вручную для вычислений, работающих под управлением Databricks Runtime 15.2 для Machine Learning (EoS) или более поздней версии.

Настройка включения Photon

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

Photon не включен по умолчанию для любых вычислительных ресурсов, созданных с помощью API кластеров или API заданий. Чтобы включить Photon, необходимо задать для атрибута runtime_engine значение PHOTON.

Поддерживаемые типы экземпляров

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

Поддерживаемые операторы, выражения и типы данных

Ниже приведены операторы, выражения и типы данных, которые охватывает Фотон.

Операторы

  • Сканирование, фильтрация, проекция
  • Хэш агрегирование/присоединение/перетасовка
  • Nested-Loop Присоединение
  • Null-Aware антиприсоединения
  • Объединение, расширение, скалярный вложенный запрос
  • Приемник записи Delta/Parquet
  • Сортировать
  • Функция окна

Выражения

  • Сравнение и логика
  • Арифметические / математические (большинство)
  • Условные (IF, CASE и т. д.)
  • Тип данных строка (распространённые)
  • Приведение типов
  • Агрегаты (наиболее распространенные)
  • Дата/метка времени

Типы данных

  • Байт/Шорт/Инт/Лонг
  • Логический
  • Строковые и двоичные типы
  • Десятичное число
  • Флоат/Дабл
  • Дата/метка времени
  • Структура
  • Массив
  • Карта

Функции, требующие Фотона

Ниже приведены функции, требующие Photon.

Ограничения

  • Структурированная потоковая обработка: В настоящее время Photon поддерживает бестановочную потоковую обработку с помощью Delta, Parquet, CSV и JSON. Потоковая обработка Kafka и Kinesis в бестейтлесс режиме поддерживается при записи в приемник Delta или Parquet.
  • Photon не поддерживает UDF, RDD или интерфейсы программирования набора данных.
  • Фотон не влияет на запросы, которые обычно выполняются в течение двух секунд.

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