Есть ли способ избежать дублирования записей в таблицах U-SQL, кроме добавления/усечения разделов. Предположим, что для обеих записей разные уникальные идентификаторы.Как избежать добавления дубликатов в таблицы U-SQL
1
A
ответ
1
Поскольку таблицы U-SQL не обеспечивают UNIQUE-ограничений из-за ограниченной масштабируемости, вам необходимо убедиться, что вы используете ANTI SEMIJOIN
в уникальных столбцах, чтобы отфильтровывать возможные дубликаты новых данных перед их вставкой.
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;
Это позволит получить уникальную запись в файле.