我是u-sql的新手。
我在一个文件上有一个用户列表,在另一个文件上有一个按用户列出的警告。
文件都以csv文件格式保存在datalake上。
如何选择没有警告的用户?
答案 0 :(得分:1)
使用ANTISEMIJOIN
的工作示例,它等效于U-SQL中的Not In
或Not Exists
:
DECLARE @usersInputFile string = @"\input\users.csv";
DECLARE @warningsInputFile string = @"\input\warnings.csv";
DECLARE @outputFile string = @"\output\output.csv";
@users =
EXTRACT userId int,
userName string
FROM @usersInputFile
USING Extractors.Csv();
@warnings =
EXTRACT userName string,
warning string
FROM @warningsInputFile
USING Extractors.Csv();
// Get users with no warnings
@output =
SELECT *
FROM @users AS u
ANTISEMIJOIN
@warnings AS w
ON u.userName == w.userName;
OUTPUT @output
TO @outputFile
USING Outputters.Csv(quoting : false);
我使用了这些示例文件:
答案 1 :(得分:0)