Поделиться через


Доступность Eventhouse OneLake

Вы можете создать логическую копию данных базы данных KQL в хранилище событий, включив доступность OneLake. Включение доступности OneLake означает, что вы можете запрашивать данные в базе данных KQL в формате Delta Lake через другие механизмы Fabric, такие как Power BI в режиме Direct Lake, Warehouse, Lakehouse, блокноты и другие.

Delta Lake — это унифицированный формат таблицы озера данных, который обеспечивает простой доступ к данным во всех вычислительных модулях в Microsoft Fabric. Дополнительные сведения о Delta Lake см. в разделе "Что такое Delta Lake?".

Из этой статьи вы узнаете, как включить доступность данных базы данных KQL в OneLake.

Принцип работы

Вы можете включить доступность OneLake на уровне базы данных или таблицы. При включении на уровне базы данных все новые таблицы и их данные становятся доступными в OneLake. При включении функции вы также можете применить эту опцию к существующим таблицам, выбрав пункт Применить к существующим таблицам, чтобы включить историческую обратную заливку. Включение на уровне таблицы делает только ту таблицу и ее данные доступными в OneLake. Политика хранения данных базы данных KQL также применяется к данным в OneLake. Данные, удаленные из базы данных KQL в конце срока хранения, также удаляются из OneLake. Если отключить доступность OneLake, данные мягко удаляются из OneLake.

Пока включена доступность OneLake, невозможно выполнить следующие задачи:

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

Если вам нужно выполнить любую из этих задач, выполните следующие действия.

Внимание

Отключение доступности OneLake мягко удаляет ваши данные из OneLake. При включении доступности все данные предоставляются в OneLake, включая историческую дозагрузку данных.

  1. Отключите доступность OneLake.

  2. Выполните нужную задачу.

  3. Активируйте доступность OneLake.

Внимание

Дополнительные сведения о времени отображения данных в OneLake см. в адаптивном поведении.

Дополнительные затраты на хранение не требуются для активации OneLake . Дополнительные сведения см. в разделе о потреблении ресурсов.

Предварительные условия

Включите доступность OneLake

Вы можете включить доступность OneLake в базе данных или таблице KQL.

  1. Чтобы включить доступность OneLake, выберите базу данных или таблицу ,.

  2. В разделе OneLake на панели подробностей установите доступность в положение Включено.

    снимок экрана раздела OneLake панели сведений о базе данных, с выделенной опцией доступности.

  3. В окне Включить доступность Onelake выберите Включить.

    снимок экрана: окно

  4. Данные базы данных или таблицы обновляются автоматически.

    снимок экрана раздела OneLake, когда доступность выставлена на Включено. Параметр открытия данных для OneLake включен.

Теперь, когда функция OneLake включена в вашей базе данных или таблице KQL, вы можете получить доступ ко всем данным по указанному пути OneLake в формате Delta Lake. Вы также можете создать ярлык OneLake из Lakehouse, хранилища данных или запросить данные непосредственно через режим Power BI Direct Lake.

Адаптивное поведение

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

Адаптивный механизм Eventhouse может отложить операции записи, если недостаточно данных для создания оптимальных файлов Parquet. Это позволяет обеспечить оптимальный размер файлов Parquet и придерживаться рекомендаций Delta Lake. Адаптивный механизм Eventhouse гарантирует, что файлы Parquet подготовлены для анализа и балансируют необходимость быстрой доступности данных с учетом затрат и производительности.

Примечание.

  • По умолчанию операция записи может занять до 3 часов или до создания файлов достаточного размера (обычно 200–256 МБ).
  • Можно настроить задержку в диапазоне от 5 минут до 3 часов.

Например, используйте следующую команду, чтобы задать задержку в 5 минут:

.alter-merge table <TableName> policy mirroring dataformat=parquet with (IsEnabled=true, TargetLatencyInMinutes=5);

Осторожность

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

Вы можете отслеживать, как давно новые данные были добавлены в озере, проверив задержку данных с помощью команды .show table mirroring operations.

Результаты измеряются с момента последнего добавления данных. Если задержка приводит к 00:00:00, все данные в базе данных KQL доступны в OneLake.

Просмотреть файлы

При включении доступности OneLake для таблицы создается папка журнала Delta вместе с соответствующими файлами JSON и Parquet. Вы можете просмотреть файлы, которые были доступны в OneLake и их свойства, оставаясь в аналитике в режиме реального времени.

  • Чтобы просмотреть файлы, наведите указатель мыши на таблицу в области обозревателя и выберите меню "Дополнительно" [...]>Просмотр файлов.

    Снимок экрана: панель обозревателя с раскрывающимся списком меню

  • Чтобы просмотреть свойства папки разностного журнала или отдельных файлов, наведите указатель мыши на папку или файл, а затем выберите меню "Дополнительно" [...]>Свойства.

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

    1. Выберите папку _delta_log .
    2. Выберите файл для просмотра метаданных и схемы таблицы. Открывающийся редактор находится в формате только для чтения.

Политика дублирования доступа

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

Примечание.

Если отключить доступность OneLake, свойство политики зеркалирования IsEnabled устанавливается в false (IsEnabled=false).

Секционированные дельта-таблицы

Вы можете секционировать delta-таблицы для повышения скорости выполнения запросов. Сведения о том, когда следует секционировать файлы OneLake, см. в разделе "Когда следует секционировать таблицы". Каждая секция представлена в виде отдельного столбца, используя имя секции , указанное в списке секций . Это означает, что копия OneLake содержит больше столбцов, чем исходная таблица.

Чтобы секционировать дельта-таблицы, используйте команду политики слияния .alter-merge table policy mirroring.

Запрос таблиц дельта

Записная книжка Fabric позволяет считывать данные OneLake с помощью следующего фрагмента кода.

В фрагменте кода замените <workspaceGuid>, <workspaceGuid>и <tableName> собственными значениями.

delta_table_path = 'abfss://`<workspaceGuid>`@onelake.dfs.fabric.microsoft.com/`<eventhouseGuid>`/Tables/`<tableName>`'

df = spark.read.format("delta").load(delta_table_path)

df.show()

Примечание.

Для базы данных Azure Data Explorer используйте следующий код:

delta_table_path = 'abfss://`<workspaceName>`@onelake.dfs.fabric.microsoft.com/`<itemName>`.KustoDatabase/Tables/`<tableName>`'