Временные таблицы в Fabric Data Warehouse

Применимо к:✅ Хранилище данных в Microsoft Fabric

В Fabric Data Warehouse можно создавать временные (#temp) таблицы на уровне сеанса.

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

Синтаксис для обработки и определения данных такой же, как у пользовательских таблиц в Fabric Data Warehouse, но вы добавляете префикс # к названию таблицы. Для получения дополнительной информации см. CREATE TABLE Временные таблицы.

Нераспределённые и распределённые временные таблицы

Можно создать два типа таблиц #temp на основе конкретных сценариев использования: нераспределённые и распределённые.

  • Нераспределённая таблица #temp (с MDF-поддержкой) является типом по умолчанию. Синтаксис создания и использования нераспространяемых таблиц #temp в Fabric Data Warehouse аналогичен пользовательским таблицам, но необходимо префиксировать имя временной таблицы с #.

     CREATE TABLE #table_name (
       Col1 data_type1,
       Col2 data_type2
     );
    
  • Вы можете создавать распределенные временные таблицы (на базе Parquet) с помощью ключевого слова DISTRIBUTION=ROUND_ROBIN:

    CREATE TABLE #table_name (
    Col1 data_type1,
    Col2 data_type2
    ) WITH (DISTRIBUTION=ROUND_ROBIN);
    

В предыдущем скрипте data_type1 и data_type2 являются заполнителями поддерживаемых типов данных в хранилище данных Fabric.

Используйте распределённые временные таблицы, так как они совпадают с обычными пользовательскими таблицами. У них неограниченное хранение, поддержка типов данных и операции с T-SQL.

Ограничения

  • Подсказки запросов Time travel не влияют на временные таблицы, и такие таблицы всегда возвращают самые последние данные таблицы. Например, инструкция запроса FOR TIMESTAMP AS OF не влияет на временные таблицы уровня сеанса, такие как #temp_table.
  • Вы можете изменять распределённые временные таблицы с помощью ALTER TABLE, но не можете изменить временные таблицы с поддержкой MDF.
  • Глобальные временные таблицы, начинающиеся с ## , не поддерживаются.