Что такое Photon?
Область применения: Databricks SQL Databricks Runtime 9.1 и более поздних версий
Узнайте о преимуществах выполнения рабочих нагрузок в Photon, поддерживаемых функциях, а также о включении или отключении Photon. Фотон включен по умолчанию в хранилищах SQL Databricks и совместим с API Apache Spark, поэтому он работает с существующим кодом.
Что такое Фотон используется для?
Photon — это высокопроизводительный модуль векторных запросов Azure Databricks, который выполняет рабочие нагрузки SQL и вызовы API кадра данных быстрее, чтобы сократить общую стоимость каждой рабочей нагрузки.
Ниже приведены ключевые функции и преимущества использования Photon.
- Поддержка операций SQL и эквивалентных операций DataFrame с таблицами Delta и Parquet.
- Ускоренные запросы, которые обрабатывают данные быстрее и включают агрегаты и соединения.
- Более высокая производительность при многократном обращении к данным из кэша диска.
- Надежная производительность сканирования в таблицах с большим количеством столбцов и большим количеством небольших файлов.
- Быстрая запись Delta и Parquet с помощью
UPDATE
,DELETE
,INSERT
MERGE INTO
иCREATE TABLE AS SELECT
, в том числе широкие таблицы, содержащие тысячи столбцов. - Заменяет объединения с сортировкой и слиянием хэш-соединениями.
Начало работы с Photon
Фотона включена по умолчанию в кластерах под управлением Databricks Runtime 9.1 LTS и более поздних версий.
Чтобы вручную отключить или включить Фотон в кластере, выберите поле "Использовать проверка ускорение фотона" при создании или изменении кластера.
Если вы создаете кластер с помощью API кластеров, установите для этого значение 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.
- Фотон не влияет на запросы, которые обычно выполняются в течение двух секунд.
Функции, не поддерживаемые Photon, выполняются так же, как и в Databricks Runtime.