Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приводятся общие семантики для агрегирования и рассматриваются различия между результатами, вычисляемых с помощью пакетных запросов, материализованных представлений и потоковой передачи.
Агрегаты пакетной службы
Агрегирование пакетной службы — это поведение по умолчанию, наблюдаемое при выполнении нерегламентированного запроса в SQL или обработке данных с помощью Кадров данных Apache Spark.
Агрегатный запрос, написанный в таблице или источнике данных, вычисляет статистическую статистику для всех записей в источнике данных. Azure Databricks использует оптимизации и метаданные, когда это возможно для оптимизации этих запросов, и может вычислить множество статистических выражений для больших наборов данных.
Задержка агрегирования пакетной службы и затраты на вычислительные ресурсы могут увеличиваться по мере увеличения размера данных, а предварительно вычисляемые статистические значения позволяют сэкономить пользователям существенное время и деньги. Databricks рекомендует использовать материализованные представления для добавочного обновления статистических значений. См . добавочные агрегаты.
Агрегаты с отслеживанием состояния
Агрегаты, определенные в рабочих нагрузках потоковой передачи, являются отслеживанием состояния. Агрегаты с отслеживанием состояния отслеживают наблюдаемые записи с течением времени и перекомпилируют результаты при обработке новых данных.
При вычислении статистических выражений с отслеживанием состояния необходимо использовать подложки. Опущение водяного знака из агрегатного запроса с отслеживанием состояния приводит к бесконечному созданию сведений о состоянии с течением времени. Это приводит к замедлению обработки и может привести к ошибкам вне памяти.
Для вычисления статистики по всему набору данных не следует использовать статистические данные с отслеживанием состояния. Databricks рекомендует использовать материализованные представления для добавочного статистического вычисления для всего набора данных. См . добавочные агрегаты.
Настройка рабочих нагрузок, которые вычисляют агрегаты с отслеживанием состояния эффективно и правильно требует понимания того, как данные приходят из исходных систем и как Azure Databricks использует подложки, режимы вывода и интервалы триггеров для управления состоянием запросов и вычислениями результатов.
Добавочные агрегаты
Материализованные представления можно использовать для вычисления множества статистических значений постепенно. Материализованные представления автоматически отслеживают изменения в источнике данных и применяют соответствующие обновления к статистическим значениям при обновлении. Результаты, возвращаемые материалзированным представлением, эквивалентны тем, которые возвращаются путем повторной компиляции статистических результатов для исходных данных с пакетным заданием или нерегламентированным запросом.
Приблизительные агрегаты
Хотя Azure Databricks специализируется на вычислениях на очень больших наборах данных, использование приближений для агрегирования может ускорить обработку запросов и сократить затраты, когда точные результаты не требуются.
Использование LIMIT
инструкций иногда достаточно хорошо для получения быстрого моментального снимка данных, но не приводит к случайности или гарантирует, что выборка распределяется по набору данных.
Spark SQL имеет следующие собственные методы для приближения агрегатов к числовым или категориальным данным:
-
approx_count_distinct
агрегатная функция -
approx_percentile
агрегатная функция -
approx_top_k
агрегатная функция
Можно также указать процент выборки, TABLESAMPLE
чтобы создать случайный выборку из набора данных и вычислить приблизительные агрегаты. См. пункт TABLESAMPLE.
Мониторинг наборов данных с помощью статистических статистических данных
Мониторинг Lakehouse использует статистические статистические данные и распределения данных для отслеживания качества данных с течением времени. Вы можете создавать отчеты для визуализации тенденций и планирования оповещений, чтобы пометить непредвиденные изменения в данных. Общие сведения о мониторинге Databricks Lakehouse.