Input Files (U-SQL)指出输入路径可以采用以下任何一种形式:
Input_File_Path :=
Single_File_Path
| List_File_Path
| File_Set_Path.
作为List_File_Path的示例,它们提供:
@searchLog =
EXTRACT UserId int
, Start DateTime
, Region string
, Query string
, Duration int
, Urls string
, ClickedUrls string
FROM "/Samples/Outputs/ExampleA.csv",
"/Samples/Outputs/ExampleB.csv"
USING Extractors.Csv();
我有以下代码:
DECLARE EXTERNAL @FileList string = "ListOfFiles.txt";
@searchLog =
EXTRACT UserId int
, Start DateTime
, Region string
, Query string
, Duration int
, Urls string
, ClickedUrls string
FROM @FileList
USING Extractors.Csv();
如果我将参数FileList传递为@variables('FileList')
,其中FileList是一个数组,则会出现以下错误:
Error Id: E_STORE_USER_FAILURE_83090017, Error Message: Invalid pathname Cosmos Path:
它将FileList视为:"System.Collections.Generic.List
1 [System.Object]“`
如果我将参数FileList传递为@join(variables('FileList'),',')
,则If会将FileList视为:"Dir/File1.txt,Dir/File2.txt"
,也就是说,就好像它是单个文件名一样。
我还尝试将@join(variables('FileList'),',')
用于此:
DECLARE EXTERNAL @FileList string = "ListOfFiles.txt";
@searchLog =
EXTRACT UserId int
, Start DateTime
, Region string
, Query string
, Duration int
, Urls string
, ClickedUrls string
FROM @FileList.Split(',')
USING Extractors.Csv();
但这会产生以下错误:C# error CS0029: Cannot implicitly convert type 'string[]' to 'string'
有没有办法解决这个问题?
答案 0 :(得分:0)
请尝试以下操作:
U-SQL:
DECLARE EXTERNAL @FileList1 string = "ListOfFiles.txt";
DECLARE EXTERNAL @FileList2 string = "ListOfFiles.txt";
@searchLog =
EXTRACT UserId int
, Start DateTime
, Region string
, Query string
, Duration int
, Urls string
, ClickedUrls string
FROM @FileList1,@FileList2
USING Extractors.Csv();
OUTPUT @searchLog
TO "/output/exampleD.csv"
USING Outputters.Csv();