2017-08-26 23 views
1

我试图在Azure Data Lake Analytics(ADLA)中使用U-SQL脚本来处理上传到Azure Data Lake Store(ADLS)的两个csv文件。 CSV文件中有一行三列。我不清楚如何使用U-SQL脚本来添加每个文件的三个元素,并将结果放入一个新的CSV文件中。任何人都可以帮我解决这个问题吗?如何使用U-SQL脚本添加两个csv文件的元素?

+0

请提供一些样品数据和预期结果。 – wBob

回答

1

如果我理解你的问题,你需要从你的CSV文件输出3行,其中每个文件有1行3列。做到这一点的方法是在U型SQL使用UNION操作就像是描述here

@result = 
     SELECT * FROM @f1 
     UNION ALL BY NAME ON (*) 
     SELECT * FROM @f2 
     UNION ALL BY NAME ON (*) 
     SELECT * FROM @f3; 

OUTPUT @result 
TO "pathtoyourfile.csv" 
USING Outputters.Csv(); 
1

如果你的文件在同一文件夹中,那么你不需要任何UNION。只需使用filesets and virtual columns即可引用它们。下面是一个简单的例子:

@input = 
    EXTRACT colA int, 
      colB string, 
      colC DateTime?, 
      filename string 
    FROM "/input/{filename}.log" 
    USING Extractors.Csv(); 


// Do some processing if you need 
@output = 
    SELECT DISTINCT * 
    FROM @input; 


// Output results 
OUTPUT @output 
TO "/output/output.csv" 
USING Outputters.Csv(); 

在这个例子中,我在我的input目录中的文件类型.log的相同结构的两个文件。当我运行脚本时,两个文件实际上是在一个结果集中一起UNIONed

相关问题