Что такое материализованные представления озера в Microsoft Fabric?

Материализованное представление озера в Fabric — это сохраняемое, автоматически обновленное представление, определенное в Spark SQL или PySpark. Это упрощает многоэтапные преобразования в Lakehouse — как правило, в рамках архитектуры медальонов «bronze-silver-gold» — позволяя представлять их в виде декларативных определений, а не специально написанных заданий Spark. После материализации mlV работает как стандартная таблица Lakehouse с точки зрения хранения, шаблонов доступа и безопасности— можно запрашивать с помощью любого модуля Fabric с одинаковыми разрешениями и моделью управления. Fabric отслеживает зависимости между MLV, координирует обновления в правильной последовательности и обеспечивает соблюдение ограничений качества данных на каждом этапе. Это позволяет инженерам данных создавать надежные, обслуживаемые конвейеры с меньшими затратами на код и эксплуатационные расходы.

Когда следует использовать материализованные представления озера

Материализованные представления озера хорошо подходят, когда у вас есть:

  • Часто доступные агрегаты (ежедневные итоги продаж, ежемесячные метрики), в которых предварительно вычисляемые результаты повышают производительность при многократном выполнении дорогостоящих запросов.
  • Сложные соединения между несколькими большими таблицами, которые запрашиваются часто и требуют согласованных результатов для всех потребителей
  • Преобразования качества данных , которые необходимо применять равномерно, с правилами, определенными декларативно, а не в пользовательском коде
  • Отчетные наборы данных, которые объединяют данные из нескольких источников и получают автоматическое обновление при изменении исходных данных.
  • Архитектура медальона, в которой требуются преобразования бронзы → серебра → золота, определенные в SQL.

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

  • Однократные или редко доступные запросы , которые не получают преимущества от предварительно компилированных результатов.
  • логика Non-SQL: например, инференция ML, вызовы API или сложная обработка Python, используйте ноутбуки Spark.
  • Высокочастотные потоковые данные, требующие обновления с интервалом менее секунды, — вместо этого рассмотрите аналитику в реальном времени

Замечание

Эта функция в настоящее время недоступна в регионе "Южная часть США".

Начало работы с материализованными представлениями озера

Сведения о том, как создать материализованное представление озера в Microsoft Fabric, см. в статье Начало работы с материализованными представлениями озера. Полное пошаговое руководство по созданию архитектуры медальона см. в руководстве "Создание архитектуры медальона с материализованными представлениями озера".

Как работают материализованные представления данных озер?

Материализованные представления озера используют декларативный подход: напишите SQL-запрос, чтобы определить преобразование, и позволить Fabric обрабатывать выполнение, хранение и обновление. Результат сохраняется в виде таблицы Delta в вашем lakehouse, чтобы последующие потребители могли выполнять к ней запросы напрямую без повторного выполнения преобразования.

Жизненный цикл материализованного озера следует четыре этапа:

  • Создание: создание SQL-запроса, определяющего преобразование. Fabric сохраняет определение и материализует результаты в виде таблицы Delta.
  • Refresh: При изменении исходных данных Fabric определяет оптимальную стратегию обновления — инкрементную (обработка только новых или измененных данных), полную (полная перестройка) или пропустить (не обнаружено изменений).
  • Запрос. Приложения и отчеты запрашивают материализованное представление озера, как любая другая таблица Delta, без осведомленности о базовой логике преобразования.
  • Monitor: отслеживание журнала обновления, состояния выполнения, метрик качества данных и происхождения зависимостей с помощью встроенных средств Fabric.

Параметры разработки

Материализованные представления озера поддерживают два подхода к разработке:

  • Разработка SQL: определение представлений с помощью стандартных инструкций SQL CREATE MATERIALIZED LAKE VIEW непосредственно в редакторе Fabric lakehouse.

  • Разработка PySpark (предварительная версия): создание, обновление и замена представлений из записных книжек Fabric с помощью DataFrameWriter. Поддержка представлений, разработанных с помощью PySpark:

    • Ограничения качества данных
    • Свойства таблицы
    • Запланированные обновления

    Замечание

    Представления, созданные с помощью PySpark, на данный момент выполняют только полное обновление.

Ключевые возможности

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

Автоматическая оптимизация обновления данных

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

  • Добавочное обновление: обработка только новых или измененных данных
  • Полное обновление: перестроение всего материализованного представления озера при необходимости
  • Пропустить обновление. Обновление не требуется, если исходные данные не изменились

Оптимальное обновление поддерживает ряд распространенных шаблонов запросов, в том числе:

  • Агрегация с использованием GROUP BY
  • Левое внешнее соединение и полу соединение
  • Распространенные табличные выражения (CTEs)

Встроенное качество данных

Материализованные представления озера поддерживают декларативные правила качества данных. Определите ограничения непосредственно в SQL и укажите способ обработки нарушений:

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Управление зависимостями

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

  • Визуализация того, как материализованные представления озера зависят друг от друга
  • Автоматическое упорядочение обновлений на основе зависимостей
  • Обработка следует цепочке зависимостей, чтобы обеспечить согласованность данных

Мониторинг и аналитика

Fabric предоставляет встроенные средства для отслеживания работоспособности и производительности материализованных представлений озера:

  • Отслеживание состояния производительности обновления и выполнения для каждого материализованного представления озера
  • Просмотр метрик качества данных и количества нарушений в зависимости данных
  • Мониторинг экземпляров заданий и журнал обновления

Безопасность

Материализованные представления Lakehouse в Fabric соответствуют всем мерам безопасности и управления, применяемым к таблицам Lakehouse. Вы также можете использовать MLV в lakehouse с включенным Private Link. Дополнительные сведения о приватном канале связи в Fabric см. в разделе Security.