2017-08-26 52 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

相關問題