在u-sql query where子句中使用来自文件的字符串文本(U-SQL)

时间:2016-12-16 15:15:57

标签: u-sql

我需要从一个文件加载一些文本,然后从另一个文件中选择特定记录,其中一个第二个文件列等于从第一个文件加载的文本。

我尝试过类似的东西,但实际上它并没有起作用。

@countryName =
    EXTRACT City string
    FROM "/TestCatalog/test.txt"
    USING Extractors.Text();

@result =
    SELECT CityName,
           Temperature,
           MeasurmentDate
    FROM @readEmployee
    WHERE CityName IN(@countryName);

将一些参数传递给表达式(从azure数据湖中的另一个文件中获取)的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

分配给EXTRACTSEELCT的U-SQL中的变量是行集,而不是标量变量。因此,请使用SEMIJOIN执行此操作,例如:

@output =
    SELECT re.CityName,
           re.Temperature,
           re.MeasurmentDate
    FROM @readEmployee AS re
            SEMIJOIN @countryName AS c ON re.CityName == c.City;

答案 1 :(得分:0)

将另一个文件提取到另一个行集中,并将两个行集合在一起。