Azure 如何在Cosmos数据库中查找重复文档

Azure 如何在Cosmos数据库中查找重复文档,azure,azure-cosmosdb,azure-stream-analytics,azure-cosmosdb-sqlapi,stream-analytics,Azure,Azure Cosmosdb,Azure Stream Analytics,Azure Cosmosdb Sqlapi,Stream Analytics,在某一天,我看到大量数据从流分析工作写入cosmos DB。 它不应该在一天内写出大量的文档。我必须检查那天是否有文件重复 是否有任何查询/方法来查找cosmos DB中的重复记录 是否有任何查询/方法来查找cosmos DB中的重复记录 快速回答是肯定的。请在cosmos db查询sql中使用。并过滤\ts(系统生成的unix时间戳:) 比如: Select distinct c.X,c.Y,C.Z....(all columns you want to check) from c where

在某一天,我看到大量数据从流分析工作写入cosmos DB。 它不应该在一天内写出大量的文档。我必须检查那天是否有文件重复

是否有任何查询/方法来查找cosmos DB中的重复记录

是否有任何查询/方法来查找cosmos DB中的重复记录

快速回答是肯定的。请在cosmos db查询sql中使用。并过滤
\ts
(系统生成的unix时间戳:)

比如:

Select distinct c.X,c.Y,C.Z....(all columns you want to check) from c where c._ts = particular day

然后,您可以使用此批量删除库删除重复数据:。

如果您知道要检查重复数据的属性,则可以删除重复数据。 我们有一个严重的生产问题,导致许多重复记录以及。 在联系MS支持以帮助我们识别重复文档时,他们向我们提供了以下查询:

请记住:属性AB一起定义了我们案例中的唯一性。因此,如果两个文档的A和B值相同,则它们是重复的。 然后,您可以使用此查询的输出来删除最旧的查询,但保留最新的查询(基于)


假设我在一天内将3000条记录写入cosmos DB。其中2000条记录是重复记录。如果我运行上面的DISTINCT查询,我将只获得DISTINCT 1000条记录?输出中将不会收到2000份副本?@JayGong@Antony恐怕输出受到RUs设置的限制,因此只会显示1000条记录。继续令牌可以搜索剩下的1000条记录。不要增加RUs设置,因为这会增加您的成本。你能分两部分或三部分来处理这些数据吗?因为
\u ts
记录了数据流进入数据库的具体时间。所以我认为数据可以分为几个部分。但是DISTINCT关键字只能检索唯一(非重复)记录。我如何从中找到重复的记录?@JayGong@Antony,您找到查询了吗?我目前面临着同样的问题…@GaelleSou我已经发布了一个答案,将帮助您识别重复的
SELECT d.A, d.B From 
   (SELECT c.A, c.B, count(c._ts) as counts FROM c
    GROUP BY c.Discriminator, c.EndDateTime) AS d
WHERE d.counts > 1