azure-data-lake - 如何将 List_File_Path 传递给 Azure 数据工厂 U-SQL 活动?
问题描述
输入文件 (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 as @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'
有没有办法解决这个问题?
解决方案
请试试这个:
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();
推荐阅读
- rust - Rust 编译器会从编译的可执行文件中排除依赖于常量的分支吗?
- azure - 如何抑制 PowerShell 脚本中的特定警告?
- c++ - C++ QT 在 QJSEngine 中调用 C++ 函数
- javascript - 应用服务器模板 discord.js
- php - 重命名文件黑客等级 php
- ethereum - 如何在没有内部交易的情况下跟踪从智能合约收到的以太币?
- ios - 使用合成的 init(from decoder:) 方法初始化实例后如何执行代码?
- .net - 如何在 Powershell 模块中使用 .net nuget 包?
- django - ToolError:命令 01_migrate 在 Amazon LM2 上失败
- spring-boot - 无法获取实体的集合字段的大小