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


Команда зеркального отображения политики таблицы alter-merge

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

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

Синтаксис

(.alter | .alter-merge) tableTableNamepolicy mirroring [partitionby (Секции)] dataformat = parquet [with(propertyName=propertyValue [, ...])]

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
ИмяТаблицы строка ✔️ Имя таблицы, которое соответствует правилам имен сущностей .
Секции строка Разделенный запятыми список столбцов, используемых для разделения данных на небольшие секции. См . раздел форматирования секций.
propertyName, propertyValue string Разделенный запятыми список пар свойств "ключ-значение". См. поддерживаемые свойства.

Форматирование секций

Список секций — это любое сочетание столбцов секций, указанных с помощью одной из форм, показанных в следующей таблице.

Тип секции Синтаксис Примечания.
Виртуальный столбец PartitionName: (datetime | string) Дополнительные сведения о виртуальных столбцах.
Строковое значение столбца Имя столбца PartitionName:string=
Хэш значений строкового столбца() Номер столбца PartitionName:long=hash(,) Хэш — это число с модулем.
Усеченный столбец datetime (значение) Имя столбца PartitionName:datetime=startofyear | startofmonth | startofweek | startofday( См. документацию по функциям startofyear, startofmonth, startofweek или startofday.
Усеченное значение столбца =bin(, Дополнительные сведения о функции bin .

Примечание.

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

Поддерживаемые свойства

Имя (название) Type Описание
IsEnabled bool Логическое значение, определяющее, включена ли политика зеркального отображения. Значение по умолчанию — true. Если политика зеркального отображения отключена и задана false, базовые данные зеркального отображения обратимо удаляются и сохраняются в базе данных.
TargetLatencyInMinutes int Задержка операции записи в минутах. По умолчанию операция записи может занять до 3 часов или пока не будет доступно 256 МБ данных. Можно настроить задержку в диапазоне от 5 минут до 3 часов.
Backfill bool Если задано значение true, зеркальное отображение начинается с EffectiveDateTime. Если EffectiveDateTime не указан, все данные таблицы зеркально отражаются. Значение по умолчанию — false.
EffectiveDateTime datetime Важно, если для backfill задано значение true. При условии зеркальное отображение начинается с указанного значения.

Примечание.

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

Примеры

Зеркальное отображение политики таблицы alter

В следующем примере таблица с именем myTable зеркальна. Данные сначала секционируются по имени, а затем по дате.

.alter table myTable policy mirroring
  partition by (Name: string=Name, Date: datetime= startofday(timestamp))
  dataformat=parquet
  with
  (IsEnabled=true, Backfill=true, EffectiveDateTime=datetime(2025-01-01), TargetLatencyInMinutes=180)