首页 > 解决方案 > 根据 U-SQL 中的配置值过滤记录

问题描述

我有两个 csv 文件 - 1] 包含列 - 名字、姓氏、年龄 2] 包含单列 - id1、id2、id3 这 3 个 id 字段包含不同的数字。

现在从第一个文件中,我只想输出年龄包含来自 id1 的所有 id 的那些记录。

例如@inputfile = EXTRACT firstname string, lastname string, age int FROM @inputfilepath USING Extractors.Csv(skipFirstNRows : 1);

@configfile = EXTRACT id1 int, id2 int, id3 int FROM @configfilepath USING 
Extractors.Csv(skipFirstNRows : 1);

@outputresult = select * from @inputfile where age IN (select id1 from 
@configfile);

OUTPUT
@outputresult
TO "/outputpath/output.csv";

标签: u-sql

解决方案


使用内连接:

@result =
    SELECT i.* FROM @inputfile AS i
    INNER JOIN @configfile AS c
    ON i.age == c.id1;  

推荐阅读