Журналы Delta Lake в хранилище в Microsoft Fabric

Область применения:✅ хранилище в Microsoft Fabric

Хранилище в Microsoft Fabric строит открытые форматы файлов. Пользовательские таблицы хранятся в формате файла parquet, а журналы Delta Lake публикуются для всех пользовательских таблиц.

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

Как получить путь OneLake

Ниже описано, как получить путь OneLake из таблицы в хранилище:

  1. Откройте хранилище в рабочей области Microsoft Fabric.

  2. В обозреватель объектов вы найдете дополнительные параметры (...) в выбранной таблице в папке "Таблицы". Выберите меню "Свойства".

    Снимок экрана: расположение параметра

  3. На выборе в области "Свойства " отображаются следующие сведения:

    1. Имя.
    2. Формат
    3. Тип
    4. URL
    5. Относительный путь
    6. Путь ABFS

    Снимок экрана: область

Как получить путь к журналам Delta Lake

Журналы Delta Lake можно найти с помощью следующих методов:

  • Журналы Delta Lake можно запрашивать с помощью ярлыков, созданных в озерном доме. Файлы можно просмотреть с помощью записной книжки Microsoft Fabric Spark или обозревателя Lakehouse в Synapse Инжиниринг данных на портале Microsoft Fabric.

  • Журналы Delta Lake можно найти с помощью обозревателя служба хранилища Azure, через подключения Spark, такие как режим Direct Lake Power BI или любую другую службу, которая может считывать разностные таблицы.

  • Журналы Delta Lake можно найти в _delta_log папке каждой таблицы через обозреватель OneLake в Windows, как показано на следующем снимке экрана.

    Снимок экрана: обозреватель Windows OneLake, показывающий путь к папке разностных журналов для таблицы call_center.

Приостановка публикации журнала Delta Lake

При необходимости публикацию журналов Delta Lake можно приостановить и возобновить. При приостановке публикации подсистемы Microsoft Fabric, которые считывают таблицы за пределами хранилища, видят данные, как это было до приостановки. Он гарантирует, что отчеты остаются стабильными и согласованными, отражая данные из всех таблиц, как они существуют до внесения изменений в таблицы. После завершения обновлений данных можно возобновить публикацию Delta Lake Log, чтобы внести все последние изменения данных, видимые для других аналитических подсистем. Другой вариант использования для приостановки публикации журналов Delta Lake заключается в том, что пользователям не требуется взаимодействие с другими вычислительными модулями в Microsoft Fabric, так как это может помочь сэкономить на затратах на вычисления.

Синтаксис для приостановки и возобновления публикации журнала Delta Lake выглядит следующим образом:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED | AUTO

Пример: приостановка и возобновление публикации журнала Delta Lake

Чтобы приостановить публикацию журнала Delta Lake, используйте следующий фрагмент кода:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = PAUSED

Запросы к таблицам хранилища в текущем хранилище из других обработчиков Microsoft Fabric (например, запросы из Lakehouse) теперь отображают версию данных, как это было до приостановки публикации журнала Delta Lake. Запросы хранилища по-прежнему отображают последнюю версию данных.

Чтобы возобновить публикацию журнала Delta Lake, используйте следующий фрагмент кода:

ALTER DATABASE CURRENT SET DATA_LAKE_LOG_PUBLISHING = AUTO

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

Проверка состояния публикации журнала Delta Lake

Чтобы проверить текущее состояние публикации журнала Delta Lake во всех хранилищах для текущей рабочей области, используйте следующий фрагмент кода:

SELECT [name], [DATA_LAKE_LOG_PUBLISHING_DESC] FROM sys.databases

Ограничения

  • Имена таблиц можно использовать только в Spark и других системах, если они содержат только эти символы: A-Z a-z 0-9 и подчеркивания.
  • Имена столбцов, которые будут использоваться Spark и другими системами, не могут содержать:
    • Пространства
    • вкладки
    • возврат каретки
    • [
    • ,
    • ;
    • {
    • }
    • (
    • )
    • =
    • ]