排查 Azure Synapse Link for Azure Synapse Analytics 无服务器 SQL 池问题

适用对象:Azure Synapse Analytics

本文提供了 Azure Synapse Link for Azure Synapse Analytics 无服务器 SQL 池上遇到的常见问题的解决方案。

数据导出服务 (DES) 弃用

通过以下文章了解如何从数据导出服务过渡到 Azure Synapse Link for Dataverse:

准实时数据和只读快照数据

创建用于 Dataverse 的 Azure Synapse Link 后,将在 Azure Synapse Analytics 和/或 Azure Data Lake Storage Gen2 中同步两个版本的表数据:

表类型 描述
准实时数据 通过检测自最初提取或上次同步的数据以来已更改的数据,通过高效方式使用 Azure Synapse Link 提供从 Dataverse 同步的数据的副本。
快照数据 提供定期更新的准实时数据的只读副本(在本例中,每隔一小时更新一次)。

有关详细信息,请参阅访问准实时数据和只读快照数据

增量更新(预览版)

使用 Azure Synapse 工作区创建 Azure Synapse Link for Dataverse 时,可以启用增量更新功能,以创建一系列带时间戳的文件夹,其中仅包含在用户指定的时间间隔期间发生的 Dataverse 数据更改。

有关详细信息,请参阅查询和分析增量更新(预览版)

访问 Azure Cosmos DB 数据

可以使用 Spark 池和无服务器 SQL 池查询分析存储中的 Azure Cosmos DB 数据。 按照以下文章中的步骤解决常见问题:

无法查询 Azure Cosmos DB 容器

确保已在 Azure Cosmos DB 帐户中正确配置 Azure Synapse Link 和分析存储。

了解架构表示形式

在分析存储中,架构表示形式有两种模式。 这些模式在简化列式表示形式、处理多态架构和简化查询体验之间进行了权衡:

  • 定义完善的架构表示形式(Azure Cosmos DB SQL API 的默认值)
  • 全保真的架构表示形式(Azure Cosmos DB API for MongoDB 的默认值)

了解如何自动处理分析存储架构

查询结果中缺少属性(列)

如果 Azure Cosmos DB 容器中缺少存在列,则可能违反了架构约束。 启用分析存储以自动推断并正确表示架构时,以下约束适用于 Azure Cosmos DB 中的操作数据:

  • 文档架构中所有嵌套级别最多可以有 1,000 个属性,最大嵌套深度为 127。
  • 分析存储中仅表示前 1,000 个属性。
  • 分析存储中只表示前 127 个嵌套层级。
  • JSON 文档的第一个级别是它的 根级别。
  • 文档中第一级的属性将以列的形式表示。

有关架构约束的详细信息,请参阅 分析存储 - 概述

所有事务性操作(包括删除)都会传播。 分析存储生存时间 (TTL) 设置也可能会导致数据删除。

  • 如果文档在事务存储区中删除,它也将从分析存储中删除,尽管这两个存储的 TTL。
  • 如果事务 TTL 小于分析 TTL,则数据会从事务存储中存档,但会保留在分析存储中,以达到配置的 TTL 限制。
  • 如果事务 TTL 大于分析 TTL,则数据将从分析存储中存档,并保留在事务存储中,以达到配置的 TTL 限制。
  • 如果使用 SQL API,则架构默认定义良好,这意味着集合中的第一个文档定义分析存储架构。 如果文档不符合第一个文档的架构,则不会同步到分析存储。

资源