你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

.alter-merge table policy mirroring 命令

适用于: ✅Microsoft Fabric

更改表的镜像策略。 镜像策略以增量 parquet 格式创建数据库中表的逻辑副本,并允许对文件进行分区以提高查询速度。 每个分区使用 Partitions 列表中列出的 PartitionName 表示为单独的列。 这意味着目标中的列数多于源表中的列数。

语法

.alter | .alter-mergetableTableNamepolicy mirroring [partitionbyPartitions)] dataformat = parquet [with(propertyName=propertyValue [, ...])]

详细了解语法约定

参数

客户 类型​​ 必需 说明
TableName string ✔️ 遵循实体名称规则的表名称。
分区 string 用于将数据划分为较小分区的列的逗号分隔列表。 请参阅分区格式设置
propertyNamepropertyValue string 键值属性对的逗号分隔列表。 请参阅 支持的属性

分区格式设置

分区列表是分区列的任意组合,使用下表中显示的格式之一指定。

分区类型 语法 注释
虚拟列 PartitionName: (datetime | string) 详细了解虚拟列
字符串列值 PartitionName:string=ColumnName
字符串列值 hash() PartitionName :long=hash(ColumnName,Number) 哈希是模数。
已截断的日期/时间列(值) PartitionName :datetime= (startofyear | startofmonth | startofweek | startofday) (ColumnName ) 请参阅有关 startofyearstartofmonthstartofweekstartofday 函数的文档。
截断的日期/时间列值 =bin( ColumnName, TimeSpan) 详细了解 bin 函数。

注意

每个分区使用 Partitions 列表中列出的 PartitionName 表示为单独的列。 PartitionName 必须是不区分大小写的唯一字符串,既包括其他分区名称,也包括镜像表的列名。

支持的属性

客户 类型​​ 说明
IsEnabled bool 一个布尔值,用于确定是否启用了镜像策略。 默认值为 true。 镜像策略被禁用并设置为 false 后,基础镜像数据将被软删除并保留在数据库中。
TargetLatencyInMinutes int 写入操作延迟(以小型为单位)。 默认情况下,写入操作最多可能需要 3 小时或直到有 256 MB 的数据可用。 可以将延迟调整为 5 分钟到 3 小时之间的值。
Backfill bool 设置为 true时,镜像从 EffectiveDateTime开始。 如果未指定 EffectiveDateTime,则会镜像所有表数据。 默认值为 false
EffectiveDateTime datetime 回填设置为 true时相关。 如果提供,镜像从指定的值开始。

注意

在启用镜像策略后,表将无法重命名。

示例

.alter table policy mirroring

在以下示例中,镜像了一个名为 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))