M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Блог · Mirko Peters

Блокноты и Lakehouse в Microsoft Fabric

By · · Updated

Создавайте рабочие процессы трансформации данных и машинного обучения с помощью блокнотов Microsoft Fabric и lakehouse для масштабируемой аналитики.

Automatically translated with AI from the original post. Read the English original

Cover: Azure AI Foundry - Simply Explained

Традиционные процессы ETL могут работать медленно. В них много ручных шагов, а поддерживать их приходится постоянно. Вот некоторые типичные проблемы:

Ограничение

Описание

Ручной труд

Вы тратите больше времени на написание скриптов и обновление данных.

Высокие расходы на поддержку

По мере роста объёма данных на их обработку уходит всё больше времени и денег.

Проблемы с фиксированной схемой

Изменения в данных могут сломать ваши конвейеры. Их исправление требует много времени.

Когда вы используете блокноты для трансформации данных, у вас есть одно основное место для ваших данных. Шаблон Bronze-Silver-Gold с Spark и Lakehouse улучшает качество данных и помогает отслеживать их происхождение. Вы получаете понятную обратную связь и можете работать вместе с командой. Это помогает всем оставаться на одной волне.

Главное

  • Используйте блокноты Fabric для трансформации данных, чтобы вся работа оставалась в одном месте. Так проще видеть изменения и работать с командой.

  • Организуйте данные по шаблону Bronze-Silver-Gold. Это защищает исходные данные, а также помогает очистить их и подготовить к анализу.

  • Автоматизируйте рабочие процессы, чтобы экономить время и предотвращать ошибки. Такие инструменты, как dbt Cloud и Prefect, помогают планировать и контролировать шаги обработки данных.

  • Используйте Git для контроля версий в блокнотах. Это позволяет видеть изменения, работать с другими участниками и при необходимости возвращаться к прежним версиям.

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

Зачем переходить к трансформации данных на основе кода

Проблемы традиционных процессов ETL

Возможно, вы использовали Power Query, Excel или скрипты для трансформации данных. С ростом объёма данных эти инструменты начинают создавать проблемы. Вы можете найти файлы с названиями вроде "final_v2_REAL.xlsx" и не понимать, какой из них актуален. Ручная работа затрудняет отслеживание изменений. Конвейеры могут сломаться при изменении данных. Исправление таких проблем отнимает много времени и сил.

Если вы используете много разных инструментов, легко потерять из виду, откуда начались ваши данные. Кроме того, можно допустить ошибки, которые трудно заметить.

Преимущества блокнотов Fabric и Lakehouse

Блокноты Fabric и Lakehouse помогают лучше выполнять трансформацию данных. Вы пишете код в одном месте и можете использовать Git, чтобы отслеживать каждое изменение. Так легко проверять результаты и повторять процесс. Вы можете работать с миллионами строк, не перемещая данные в другие инструменты.

Вот чем блокноты на основе кода с Git отличаются от старых инструментов ETL:

Функция

Блокноты Fabric (на основе кода)

Традиционные инструменты ETL

Преимущества

Сквозная родословная данных

✅ На уровне столбцов

⚠️ На уровне таблиц

Проще устранять неполадки и лучше видеть картину целиком

Аудируемость

✅ Полная история (Git)

⚠️ Ограниченная

Понятный учёт изменений

Совместная работа

✅ Единая кодовая база

⚠️ Разрозненные скрипты и файлы

Команда работает согласованно, меньше путаницы

Бизнес-правила можно задать в одном месте. Команды могут использовать их в дашбордах и отчётах. Это помогает предотвращать ошибки и сохранять согласованность работы команды. Кроме того, так команда может безопасно исследовать данные.

  • Слои на основе кода позволяют:

    • Отслеживать каждый шаг конвейера.

    • Использовать одну и ту же логику в разных проектах.

    • Масштабироваться по мере роста объёма данных.

Смена мышления: блокноты как слой трансформации

Блокноты стоит рассматривать как основное место для трансформации данных. Они являются единым источником истины. Вы можете проверять, тестировать и делиться своей работой. С помощью параметров можно переключаться между тестовым и боевым режимом. Так у вас больше контроля и вы можете доверять своим данным.

Представьте, что блокнот — это план работы с данными. Вы увидите, что происходит на каждом шаге.

Шаблон трансформации данных Bronze-Silver-Gold

Шаблон Bronze-Silver-Gold помогает организовать процесс трансформации данных. Данные проходят через три понятных этапа, и у каждого из них есть своя задача. Такой шаблон делает конвейер данных проще в управлении и надёжнее.

Bronze: приём исходных данных

Начинаете с уровня Bronze. Здесь вы загружаете исходные данные из разных источников. Пока их не меняете: просто собираете и надёжно сохраняете. Этот шаг сохраняет исходные данные для дальнейшего использования.

Для загрузки данных в слой Bronze можно использовать несколько методов. В таблице ниже показаны некоторые распространённые способы:

Метод

Описание

Прямое копирование

Используйте для простой загрузки необработанных данных.

Ярлыки

Указывают напрямую на исходные данные без преобразования.

Блокноты PySpark

Используйте для преобразования форматов или первичного разбора.

Всегда задавайте схему при загрузке данных. Это помогает быстрее находить ошибки. Если вы видите некорректные строки, их можно изолировать в отдельном хранилище. Так данные остаются чистыми с самого начала.

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

Silver: очистка и приведение данных к единому виду

Слой Silver — это место, где вы очищаете данные и приводите их к единому стандарту. Вы исправляете ошибки, удаляете дубликаты и проверяете, что данные соответствуют вашим бизнес-правилам. При необходимости вы также объединяете таблицы и заполняете отсутствующие значения.

На этом слое вам следует:

  • Проверить, что каждый столбец имеет правильный тип.

  • Удалить или исправить строки, которые не соответствуют вашим правилам.

  • Устранить дубликаты записей, чтобы ничего не считать дважды.

  • Обрабатывать медленно меняющиеся данные, например адреса клиентов.

В блокноте можно использовать PySpark или pandas. Это позволяет описать понятные шаги для каждого изменения. Вы можете протестировать свою работу и убедиться, что она верна, прежде чем двигаться дальше.

Примечание: после каждого крупного шага запускайте контрольные проверки (canary checks). Например, проверяйте количество строк или ищите слишком много пустых значений. Это помогает заметить проблемы на раннем этапе.

Gold: конструирование признаков для аналитики и ML

Слой Gold готовит данные для аналитики и машинного обучения. Здесь вы создаёте новые признаки, например временные лаги или группы клиентов. Также вы формируете таблицы, готовые для дашбордов или моделей.

На этом слое вам следует:

  • Конструировать признаки, которые помогают бизнесу отвечать на вопросы.

  • Секционировать таблицы, чтобы ускорить запросы.

  • Использовать таблицы Delta, чтобы отслеживать изменения и при необходимости откатываться назад.

Всегда записывайте данные идемпотентно. Это означает, что конвейер можно запускать много раз без ошибок и двойного подсчёта. Чтобы сохранять версии таблиц, используйте снимки Delta. Если что-то пойдёт не так, можно вернуться к безопасной копии.

Помните: слой Gold — это место, где данные становятся наиболее ценными. Уделите особое внимание проверке своей работы и поддержанию её надёжности.

Следуя шаблону Bronze-Silver-Gold, вы строите надёжный конвейер трансформации данных. Ваши данные остаются защищёнными, чистыми и готовыми к любому анализу или проекту машинного обучения.

Оркестрация трансформации данных с помощью блокнотов и Spark

Чтение и запись таблиц Delta

Для работы с таблицами Delta можно использовать Spark в блокнотах Fabric. Это позволяет обрабатывать миллионы строк очень быстро. Не нужно перемещать данные или исправлять их вручную. Если включить Native Execution Engine, задания могут выполняться в пять раз быстрее. Чтобы подогнать настройки под размер данных, можно изменять параметры spark.sql.files.maxPartitionBytes и spark.sql.shuffle.partitions. Auto Compaction помогает при большом количестве мелких записей и ускоряет поиск по таблицам. По словам многих компаний, благодаря этим мерам циклы ELT ускоряются на 30%, а запросы работают в 1,2 раза быстрее.

Совет: таблицы Delta хранят данные в виде версий. Если вы допустили ошибку, изменения можно отменить.

Параметризация и управление средами

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

  • Используйте параметры для:

    • Путей к файлам

    • Идентификаторов рабочих областей

    • Флагов функций

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

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

Блокноты можно настроить на автоматический запуск по расписанию. Так не нужно выполнять шаги вручную или работать с CSV-файлами. Такие инструменты, как dbt Cloud, Meltano и Prefect, помогают отслеживать и контролировать конвейеры. dbt Cloud хорошо подходит для задач SQL. Meltano бесплатен и работает с Git. Prefect использует Python и поддерживает повторные попытки, кэширование и журналы.

  • Инструменты автоматизации помогают:

    • Настраивать запуски

    • Отслеживать статус конвейеров

    • Сокращать объём ручной работы

Если вы автоматизируете рабочие процессы, вы допускаете меньше ошибок и получаете больше пользы от своих данных.

Управление, аудируемость и лучшие практики

Интеграция с Git и код-ревью

Git помогает отслеживать каждое изменение в ваших блокнотах. Вы видите, кто внёс изменения и когда. Пробуйте новые идеи в ветке, прежде чем добавлять их в основной проект. Код-ревью помогает команде находить ошибки на раннем этапе. Все могут работать вместе, не теряя чужой работы. Если что-то пошло не так, можно вернуться к безопасной версии.

Преимущество

Описание

Отслеживайте каждое изменение

Вы всегда знаете, кто и когда внёс изменения.

Экспериментируйте без страха

Пробуйте новое в ветке и добавляйте, когда будете готовы.

Эффективная совместная работа

Многие люди могут работать вместе, не теряя работу друг друга.

Откат в любой момент

Если вы допустили ошибку, можно вернуться к старой версии.

Прозрачность и подотчётность

Каждое изменение сохраняется, поэтому вы видите, что именно произошло.

Улучшенное код-ревью

Git упрощает проверку и исправление кода.

Структура и безопасность

С Git ваш проект остаётся организованным и защищённым.

Совет: всегда используйте пулл-реквесты для изменений. Так код остаётся защищённым и его легче проверять.

Защитные механизмы: проверки схемы и canary-запросы

Защитные механизмы помогают сохранять данные в безопасности. Проверки схемы убеждаются, что в таблицах есть нужные столбцы и правильные типы. Canary-запросы проверяют наличие проблем после каждого шага. Они анализируют количество строк, пустые значения и ключевые показатели. Эти проверки помогают выявлять проблемы до того, как они попадут на ваши дашборды.

  • Проверки могут сразу обнаружить отсутствующие или неверные данные.

  • Автоматические исправления могут решать типичные проблемы на основе прошлых ответов.

  • Canary-развёртывания тестируют рискованные изменения на небольшой части ваших данных.

Примечание: всегда проверяйте схему перед переходом данных к следующему шагу.

Безопасность и контроль доступа

Надёжная безопасность в Microsoft Fabric Lakehouse поможет сохранить ваши данные в безопасности. OneLake Security позволяет задавать правила, кто может просматривать или изменять данные. Безопасность на уровне строк и столбцов определяет, что каждый пользователь может видеть. Для управления доступом можно использовать User Identity Mode или Delegated Identity Mode. Защищённые ярлыки сохраняют безопасность исходных данных, даже при удалённых источниках.

  • Защита исходящего доступа рабочей области блокирует нежелательные подключения.

  • Управляемые приватные конечные точки позволяют разрешать доступ только доверенным внешним ресурсам.

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

Всегда проверяйте настройки доступа, чтобы сохранить безопасность данных.

Быстрые победы и антипаттерны

Вы можете улучшить свой конвейер, если:

  • Перенесёте один конвейер в блокноты с отслеживанием в Git.

  • Добавите проверки схемы и canary-запросы.

  • Будете использовать параметры для всех путей и идентификаторов рабочих областей.

  • Будете использовать пулл-реквесты для каждого изменения.

Не делайте следующего:

  • Смешивать конвейеры на блокнотах с ручными правками в Excel.

  • Записывать CSV-файлы обратно и загружать их в Power BI.

  • Жёстко прописывать секреты или пути в коде.

  • Использовать один огромный блокнот для всего.

Небольшие изменения могут сделать ваш конвейер данных безопаснее и удобнее.

Интеграция Power BI и машинного обучения

Создание семантических моделей на золотых таблицах

Золотые таблицы помогают получить больше пользы от данных. Семантические модели в Power BI упорядочивают данные. Такие модели упрощают анализ и отчётность. Если применять лучшие практики, модели будут полезнее и проще в совместном использовании.

  • Относитесь к семантическим моделям как к продуктам. Давайте каждой модели понятное название и назначение.

  • Создавайте модели с простыми определениями. Убедитесь, что все понимают, что означает каждое поле.

  • Ведите учёт версий моделей и записывайте изменения. Объясняйте, как пользоваться каждой моделью.

  • Делитесь моделями с другими командами для единообразия. Это помогает всем использовать одни и те же данные и правила.

Совет: хорошие заметки и понятные определения помогают людям доверять вашим моделям и пользоваться ними.

Хранилище признаков ML и обучение моделей

Хранилище признаков (feature store) помогает отслеживать данные для машинного обучения. Признаки можно сохранять в одном месте для обучения и прогнозов. Это помогает вашим моделям оставаться корректными и надёжными. Хранилища признаков помогают избежать ошибок, используя одни и те же данные на обоих этапах. Они показывают, откуда берутся признаки и как они меняются. Так проще исправлять проблемы и повторять работу. Вы можете делиться признаками с командой и повторно их использовать. Это экономит время и помогает всем получать лучшие результаты.

Автоматизация обновления и развёртывания моделей

Вы можете использовать планировщик заданий в Microsoft Fabric, чтобы автоматически обновлять данные и развёртывать модели. Планировщик позволяет задавать запуск заданий в определённое время. Вы можете управлять многими расписаниями и связывать их с рабочим процессом. Это поддерживает данные и модели в актуальном состоянии без ручных действий. Автоматизация помогает допускать меньше ошибок и укрепляет ваш рабочий процесс.

Примечание: автоматизация позволяет тратить больше времени на аналитику и решения, а не на рутинную ручную работу.

Вы можете больше доверять своим данным, если используете подход code-first с Microsoft Fabric Notebooks и Lakehouse. Паттерн Bronze-Silver-Gold, хорошие правила и автоматизация помогают наращивать возможности аналитики и машинного обучения. Начните с переноса одного конвейера и добавьте проверки для безопасности. Затем обратите внимание на функции, которые действительно полезны:

  • Delta Live Tables позволяют конвейерам работать автоматически и экономят время.

  • Liquid Clustering ускоряет запросы и снижает затраты.

  • Мониторинг на основе ИИ помогает быстро находить медленные запросы.

В качестве следующих шагов попробуйте практические лабораторные работы, посмотрите экспертные видео или пройдите курс DP-700, чтобы узнать больше.

Часто задаваемые вопросы

Какое главное преимущество использования Fabric Notebooks для трансформации данных?

У вас есть одно место для написания, тестирования и отслеживания шагов обработки данных. Это упрощает проверку и повторение работы. Кроме того, можно работать с большими наборами данных без перемещения файлов.

Как паттерн Bronze-Silver-Gold помогает моему конвейеру данных?

Этот паттерн помогает упорядочить данные по понятным этапам. Вы сохраняете исходные данные в безопасности, очищаете их, а затем создаёте признаки для отчётов или моделей. Так можно быстрее исправлять проблемы и доверять результатам.

Можно ли использовать Git с Fabric Notebooks?

Да, вы можете подключить блокноты к Git. Это позволяет отслеживать изменения, проверять код и работать с командой. При необходимости всегда можно вернуться к предыдущей версии.

Как обеспечить безопасность данных в Lakehouse?

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

Можно ли автоматизировать рабочие процессы с данными и машинным обучением?

Да! Вы можете планировать запуск блокнотов в заданное время. Также можно обновлять данные и развёртывать модели без ручных действий. Это экономит время и снижает количество ошибок.

Вам также стоит послушать

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

Эти выпуски помогают связать тему статьи с практическими решениями по архитектуре и внедрению.

Entities in this article

Fabric notebooks Dashboards Machine learning Microsoft Excel Fabric workspace Power BI Code review Power Query

Related articles

RSS