选择上个月没有警告的用户

时间:2018-10-26 15:32:18

标签: u-sql

我是u-sql的新手。

我在一个文件上有一个用户列表,在另一个文件上有一个按用户列出的警告。

文件都以csv文件格式保存在datalake上。

如何选择没有警告的用户?

2 个答案:

答案 0 :(得分:1)

使用ANTISEMIJOIN的工作示例,它等效于U-SQL中的Not InNot 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);

我使用了这些示例文件:

input files

答案 1 :(得分:0)