Как избежать добавления дубликатов в таблицы U-SQL

Есть ли способ избежать добавления повторяющихся записей в таблицы U-SQL, кроме добавления/усечения разделов. Предположим, что у обеих записей различаются только уникальные идентификаторы.


person Ahsan Abbas    schedule 10.06.2016    source источник


Ответы (2)


Вы также можете использовать ROWNUMBER() в запросе U-SQL.

@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;

Это позволит получить уникальную запись в файле.

person Arron    schedule 26.07.2017

Поскольку таблицы U-SQL не предоставляют ограничений UNIQUE из-за ограниченной масштабируемости, вам необходимо убедиться, что вы используете ANTI SEMIJOIN для уникальных столбцов, чтобы отфильтровать возможные дубликаты новых данных, прежде чем вставлять их.

person Michael Rys    schedule 13.06.2016