Что такое Photon?
В этой статье описываются преимущества выполнения рабочих нагрузок в обработчике запросов Photon.
Photon — это высокопроизводительный модуль векторных запросов Azure Databricks, который выполняет рабочие нагрузки SQL и вызовы API кадра данных быстрее, чтобы сократить общую стоимость каждой рабочей нагрузки. Photon совместим с API Apache Spark, поэтому он работает с существующим кодом.
Функции фотона
Ниже приведены ключевые функции и преимущества использования Photon.
- Поддержка операций SQL и эквивалентных операций DataFrame с таблицами Delta и Parquet.
- Ускоренные запросы, которые обрабатывают данные быстрее и включают агрегаты и соединения.
- Более высокая производительность при многократном обращении к данным из кэша диска.
- Надежная производительность сканирования в таблицах с большим количеством столбцов и большим количеством небольших файлов.
- Быстрая запись Delta и Parquet с помощью
UPDATE
,DELETE
,INSERT
MERGE INTO
иCREATE TABLE AS SELECT
, в том числе широкие таблицы, содержащие тысячи столбцов. - Заменяет объединения с сортировкой и слиянием хэш-соединениями.
- Для рабочих нагрузок искусственного интеллекта и машинного обучения Photon повышает производительность приложений с помощью Spark SQL, Кадров данных Spark, инженерии функций, GraphFrames и xgboost4j.
Включение фотона
Включение фотонаправки зависит от типа вычислений:
Фотона выполняется по умолчанию в хранилищах SQL и бессерверных вычислительных ресурсах для записных книжек и рабочих процессов.
Фотона включена по умолчанию для вычислений, работающих под управлением Databricks Runtime 9.1 LTS и более поздних версий.
Фотон можно включить вручную для вычислений, работающих под управлением Databricks Runtime 15.2 для Машинное обучение или более поздней версии.
Настройка включения Photon
Чтобы включить или отключить Фотон для вычислений всех целей и заданий, установите флажок "Использовать ускорение фотона" в пользовательском интерфейсе вычислений.
Фотона не включена по умолчанию для каких-либо вычислений, созданных с помощью API кластеров или API заданий. Чтобы включить Photon, необходимо задать для атрибута runtime_engine
PHOTON
значение .
Поддерживаемые типы экземпляров
Photon поддерживает ряд типов экземпляров на драйвере и рабочих узлах. Скорость потребления DBU у типов экземпляров Photon отличается от скорости таких же типов экземпляров, работающих не в среде Photon. Дополнительные сведения об экземплярах Photon и потреблении DBU см. на странице цен Azure Databricks.
Поддерживаемые операторы, выражения и типы данных
Ниже приведены операторы, выражения и типы данных, охватывающие Фотон.
Операторы
- Сканирование, фильтрация, проект
- Агрегирование, соединение и перетасовка хэша
- Присоединение с использованием вложенных циклов
- Антиприсоединение с учетом значений null
- Объединение, развертывание, скалярный вложенный запрос
- Приемник записи Delta/Parquet
- Сортировать
- Функции окна
Выражения
- Сравнение и логика
- Арифметические / математические (большинство)
- Условные (IF, CASE и т. д.)
- Строковые (распространенные)
- Приведения
- Агрегаты (наиболее распространенные)
- Дата/метка времени
Типы данных
- Byte/Short/Int/Long
- Логический
- Строковые и двоичные типы
- Десятичное число
- Float/Double
- Дата/метка времени
- Структура
- Массив
- Карта
Функции, требующие Фотона
Ниже приведены функции, требующие Photon.
- Прогнозный ввод-вывод для чтения и записи. См. сведения о прогнозных ввода-выводах.
- Геопространственные выражения H3. См. раздел Геопространственные функции H3.
- Динамическое удаление файлов. См. раздел Динамическое удаление файлов.
Ограничения
- Структурированная потоковая передача: Photon в настоящее время поддерживает потоковую передачу без отслеживания состояния с помощью Delta, Parquet, CSV и JSON. Потоковая передача Kafka и Kinesis без отслеживания состояния поддерживается при записи в приемник Delta или Parquet.
- Photon не поддерживает интерфейсы API UDF или RDD.
- Фотон не влияет на запросы, которые обычно выполняются в течение двух секунд.
Если рабочая нагрузка попадает в неподдерживаемую операцию, вычислительный ресурс переключается на стандартный модуль среды выполнения для остальной части рабочей нагрузки.