编辑表架构

本文介绍如何通过添加、重命名和删除列来重命名表并编辑表的架构。 概述了表架构更改对引用对象和映射的影响和依赖关系。

谨慎

  • 编辑表架构后,现有的引入、引入映射、更新策略、函数、导出、物化视图和其他相关操作可能会失败。 请参阅 依赖项 ,并确保相应地编辑引入映射的实现、更新策略、函数、导出和具体化视图。

依赖关系

编辑表架构可能会导致引入和查询失败,因为引用表名或表列的依赖项。 架构编辑的含义在以下矩阵中指示。

模式编辑 依赖
重命名表 具体化视图
* 默认情况下,直接引用旧表名称的所有具体化视图都会更新为以事务方式指向新名称。
* 如果表名称是从视图查询调用的存储函数引用的,则需要使用 .alter materialized-view 手动更新具体化视图引用。
重命名列 * 重命名列会在引入映射中自动更新对该列的所有引用。
* 重命名列会保留映射中的任何现有转换。
添加列 * 添加新列不会自动更新引入映射。 如果希望包含新列,则必须手动更新映射。
* 编辑架构不会在引入期间更新传入数据到表列的映射。
* 添加列后,请确保更新 映射 ,以便正确引入数据。
有关更新引入映射的详细信息,请参阅 .alter ingestion mapping 命令
列类型 使用“编辑表架构”选项不支持编辑列类型,因为更改列类型将导致数据丢失。
删除列 * 删除列将从所有引入映射中删除该列。
* 删除列是不可逆的,会导致数据丢失。 无法查询已删除列中的数据。
* 谨慎 如果删除列、保存并再次添加列,则不会还原数据。 它像新列一样工作,并且引入映射不会更新。 需要手动更新引入映射。

先决条件

重命名表

重命名表时,会自动更新在数据引入映射中对该表的所有引用。 在某些情况下,表映射和引用需要手动更新。 重命名表之前,请查看 依赖项

  1. 浏览到所需的 KQL 数据库,然后在浏览器窗格中展开

  2. 从列表中选择一个表,然后打开 “更多”菜单 [...]。

    表格“更多”菜单中突出显示“编辑架构”的屏幕截图。

  3. “编辑表架构 ”窗口中,编辑表名称。 (可选)编辑表说明。

    编辑表架构的屏幕截图,其中突出显示了表名称字段。

  4. “依赖项 ”部分中,查看引用的对象。

    • 默认情况下,启用 自动更新具体化视图 。 可以在 命令查看器中查看命令的更新。

    • 如有必要,请禁用 自动更新具体化视图。 请确保查看 依赖项 中的影响,并在必要时手动更新表引入映射。

    命令查看器和依赖项部分的屏幕截图,其中突出显示了“自动更新具体化视图”切换。

  5. 选择 “更新”,然后在确认窗口中再次输入表名称,然后选择“ 编辑表架构”。

    确认窗口的屏幕截图,其中突出显示了表名称字段。

编辑表列

重命名和添加表中的列会自动更新数据摄取映射中对表的所有引用。 在某些情况下,表映射和引用需要手动更新。 在编辑表列之前查看 依赖项

  1. 浏览到所需的 KQL 数据库,然后在资源管理器窗格中展开 “表”。

  2. 从列表中选择一个表,然后打开 “更多”菜单 [...]。

    表格“更多”菜单中突出显示“编辑架构”的屏幕截图。

  3. 若要添加新列,请在列列表底部输入列名。 列名必须以字母开头,并且可以包含数字、句点、连字符或下划线。

  4. 选择列的数据类型。 默认列类型为 string,但在 列类型 字段的下拉菜单中可以更改。

  5. 选择“添加列”以添加更多列。

  6. “依赖项 ”部分中,查看引用的对象。

    • 默认情况下,自动更新 映射 处于启用状态。 可以在 命令查看器中查看引入映射命令的更新。

    • 如有必要,请禁用 自动更新映射。 请确保查看 依赖项 中的影响,并在必要时手动更新表引入映射。

    命令查看器的屏幕截图,其中在依赖项部分启用了自动更新映射。

  7. 如有必要,请更新数据导入映射