Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Материализованные представления данных lakehouse преобразуют сложные преобразования в быстрые, многократно используемые активы, которые ускоряют процессы аналитики и снижают ресурсозатраты. Результаты сохраняются как разностные файлы в OneLake и обновляются автоматически с помощью расписаний или триггеров событий, предоставляя надежные, актуальные данные. Основными преимуществами являются декларативные конвейеры для прогнозируемых развертываний, оптимальное обновление для производительности и затрат, встроенное качество данных и интуитивно понятный мониторинг видимости и доверия.
Когда следует использовать материализованные представления озера
Если у вас уже есть хранилище данных и вы запускаете записные книжки Spark для преобразования данных в таблицы Delta, а затем планируете эти записные книжки через потоки данных — материализованные представления хранилища могут упростить этот рабочий процесс. Вместо управления логикой обновления, порядком выполнения и планированием самостоятельно вы определяете преобразования SQL и позволяет Fabric обрабатывать остальные.
Материализованные представления озера хорошо подходят, когда у вас есть:
- Часто доступные агрегаты (ежедневные итоги продаж, ежемесячные метрики), в которых предварительно вычисляемые результаты повышают производительность при многократном выполнении дорогостоящих запросов.
- Сложные соединения между несколькими большими таблицами, которые запрашиваются часто и требуют согласованных результатов для всех потребителей
- Преобразования качества данных , которые необходимо применять равномерно, с правилами, определенными декларативно, а не в пользовательском коде
- Отчетные наборы данных, которые объединяют данные из нескольких источников и получают автоматическое обновление при изменении исходных данных.
- Архитектура медальона, в которой требуются преобразования бронзы → серебра → золота, определенные в SQL.
Материализованные представления озера не являются правильным выбором для каждого сценария. Рассмотрите варианты, если у вас есть:
- Однократные или редко доступные запросы , которые не получают преимущества от предварительно компилированных результатов.
- Простые преобразования , которые уже выполняются быстро без оптимизации
- логика Non-SQL: например, инференция ML, вызовы API или сложная обработка Python, используйте ноутбуки Spark.
- Высокочастотная потоковая передача данных, требующая обновления менее чем за секунду, рассмотрите возможность аналитики в реальном времени.
Замечание
Эта функция в настоящее время недоступна в регионе "Южная часть США".
Начало работы с материализованными представлениями озера
Для создания вашего первого материализованного представления озера в Microsoft Fabric см. раздел Начало работы с материализованными представлениями озера. Полное пошаговое руководство по созданию архитектуры медальона см. в руководстве "Создание архитектуры медальона с материализованными представлениями озера".
Как работают материализованные представления данных озер?
Материализованные представления озера используют декларативный подход: вы создаете SQL-запрос, определяющий нужное преобразование, и Fabric обрабатывает выполнение, хранение и обновление. Результат сохраняется в виде таблицы Delta в лейкхаусе, поэтому другие пользователи могут запрашивать ее напрямую без повторного выполнения преобразования.
Жизненный цикл материализованного озера следует четыре этапа:
- Создание: создание 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 предоставляет встроенные средства для отслеживания работоспособности и производительности материализованных представлений озера:
- Отслеживание состояния производительности обновления и выполнения для каждого материализованного представления озера
- Просмотр метрик качества данных и количества нарушений в зависимости данных
- Мониторинг экземпляров заданий и журнал обновления
Распространенные варианты использования
В следующих примерах показано, как материализованные представления озера упрощают распространенные задачи проектирования данных, которые в противном случае требуют кода записной книжки и оркестрации конвейера.
Панель мониторинга отчетов о продажах
Агрегировать данные о заказах в ежедневную сводку по регионам. Вместо планирования записной книжки для перестроения этой таблицы представление материализованного озера обновляется автоматически при изменении исходной orders таблицы.
-- Daily sales summary that refreshes automatically
CREATE MATERIALIZED LAKE VIEW daily_sales AS
SELECT
DATE(order_date) as sale_date,
region,
SUM(amount) as total_sales,
COUNT(*) as order_count
FROM orders
GROUP BY DATE(order_date), region;
Проверка качества данных
Очистка и нормализация записей клиентов при применении правил качества данных. Предложение ON MISMATCH DROP в ограничении автоматически удаляет строки, в которых сообщение электронной почты равно NULL, поэтому подчиненные потребители видят только допустимые данные.
-- Clean customer data with quality rules
CREATE MATERIALIZED LAKE VIEW clean_customers (
CONSTRAINT valid_email CHECK (email IS NOT NULL) ON MISMATCH DROP
) AS
SELECT
customer_id,
TRIM(customer_name) as customer_name,
LOWER(email) as email
FROM raw_customers
WHERE customer_name IS NOT NULL;
Архитектура Medallion
Преобразуйте необработанные бронзовые данные в курированный серебряный слой, приведя типы данных, отфильтровав недопустимые записи и выбрав соответствующие столбцы. Материализованные представления озера автоматически обрабатывают порядок зависимостей, поэтому вы можете объединять бронзовые → серебряные → золотые представления без необходимости управлять последовательностью выполнения вручную.
-- Bronze → Silver transformation
CREATE MATERIALIZED LAKE VIEW silver_products AS
SELECT
product_id,
product_name,
category,
CAST(price as DECIMAL(10,2)) as price
FROM bronze_products
WHERE price > 0;
Безопасность
Вы можете использовать частные ссылки для подключения к материализованным представлениям озера (предварительная версия). Дополнительные данные см. в статье "Безопасность".
Текущие ограничения
Следующая функция в настоящее время недоступна для материализованных представлений озера в Microsoft Fabric:
- Кросс-лейкхаус происхождения и функции выполнения.