你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
.alter-merge table policy mirroring 命令
适用于: ✅Microsoft Fabric
更改表的镜像策略。 镜像策略以增量 parquet 格式创建数据库中表的逻辑副本,并允许对文件进行分区以提高查询速度。 每个分区使用 Partitions 列表中列出的 PartitionName 表示为单独的列。 这意味着目标中的列数多于源表中的列数。
语法
(.alter
| .alter-merge
) table
TableNamepolicy mirroring
[partition
by
(Partitions)] dataformat
= parquet
[with
(
propertyName=
propertyValue [,
...])
]
详细了解语法约定。
参数
客户 | 类型 | 必需 | 说明 |
---|---|---|---|
TableName | string | ✔️ | 遵循实体名称规则的表名称。 |
分区 | string | 用于将数据划分为较小分区的列的逗号分隔列表。 请参阅分区格式设置。 | |
propertyName,propertyValue | string |
键值属性对的逗号分隔列表。 请参阅 支持的属性。 |
分区格式设置
分区列表是分区列的任意组合,使用下表中显示的格式之一指定。
分区类型 | 语法 | 注释 |
---|---|---|
虚拟列 |
PartitionName: (datetime | string ) |
详细了解虚拟列。 |
字符串列值 |
PartitionName: string = ColumnName |
|
字符串列值 hash() |
PartitionName : long = hash( ColumnName, Number) |
哈希是模数。 |
已截断的日期/时间列(值) |
PartitionName : datetime = (startofyear | startofmonth | startofweek | startofday ) ( ColumnName ) |
请参阅有关 startofyear、startofmonth、startofweek 或 startofday 函数的文档。 |
截断的日期/时间列值 = 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))
相关内容
- 若要检查镜像操作,请参阅 .show table mirroring operations 命令。
- 若要删除镜像操作,请参阅 .delete table policy mirroring 命令。