排查 Azure Synapse Analytics 无服务器 SQL 池Azure Synapse链接问题
适用于:Azure Synapse Analytics
本文提供有关 Azure Synapse Link for Azure Synapse Analytics 无服务器 SQL 池遇到的常见问题的解决方案。
Azure Synapse Link for Dataverse
数据导出服务 (DES) 弃用
通过以下文章了解如何从数据导出服务转换到 Azure Synapse Link for Dataverse:
准实时数据和只读快照数据
为 Dataverse 创建Azure Synapse链接后,将在 Azure Synapse Analytics 和/或Azure Data Lake Storage Gen2中同步两个版本的表数据:
表类型 | 说明 |
---|---|
准实时数据 | 通过使用 Azure Synapse Link,通过检测自最初提取或上次同步以来哪些数据发生了更改,从而提供从 Dataverse 同步的数据副本。 |
快照数据 | 提供准实时数据的只读副本,在这种情况下, (每隔一小时) 更新一次。 |
有关详细信息,请参阅访问准实时数据和只读快照数据。
增量更新 (预览版)
使用 Azure Synapse 工作区创建 Dataverse Azure Synapse 链接时,可以启用增量更新功能,以创建一系列带有时间戳的文件夹,其中仅包含用户指定的时间间隔内对 Dataverse 数据所做的更改。
有关详细信息,请参阅 查询和分析增量更新 (预览版) 。
Azure Synapse Azure Cosmos DB 链接
访问 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,则默认情况下会明确定义架构,这意味着集合中的第一个文档定义分析存储架构。 如果文档不符合第一个文档的架构,则不会将其同步到分析存储。