如何避免向U-SQL表添加重复项

时间:2016-06-10 04:25:36

标签: azure-data-lake u-sql

是否有办法避免在添加/截断分区之外的U-SQL表中添加重复记录。假设两个记录中只有唯一标识符不同。

2 个答案:

答案 0 :(得分:3)

您还可以在U-SQL查询中使用ROWNUMBER()

@transactions =
   SELECT *,
   ROW_NUMBER() OVER(PARTITION BY Id ORDER BY Id DESC) AS RowNumber
   FROM @searchlog;

@result =
   SELECT Id,Name,Description,Age
   FROM @transactions
   WHERE RowNumber == 1;

这将获得文件中的唯一记录。

答案 1 :(得分:2)

由于可伸缩性有限,U-SQL表不提供UNIQUE约束,因此您必须确保在唯一列上使用ANTI SEMIJOIN以在插入之前过滤掉新数据上可能存在的重复项它