U-SQL 如何获取正在处理的当前文件名以添加到我的提取输出中?
U-SQL How can I get the current filename being processed to add to my extract output?
我需要添加有关正在处理的行的元数据。我需要将文件名添加为一列。我查看了 Git 存储库中的救护车演示,但不知道如何实现它。
您使用了 U-SQL 的一项功能,称为 'file sets' 和 'virtual columns'。在我的简单示例中,我的输入目录中有两个文件,我使用文件集并引用 EXTRACT
语句中的虚拟列,例如
// Filesets, file set with virtual column
@q =
EXTRACT rowId int,
filename string,
extension string
FROM "/input/filesets example/{filename}.{extension}"
USING Extractors.Tsv();
@output =
SELECT filename,
extension,
COUNT( * ) AS records
FROM @q
GROUP BY filename,
extension;
OUTPUT @output TO "/output/output.csv"
USING Outputters.Csv();
我的结果:
在此处详细了解这两个功能:
https://msdn.microsoft.com/en-us/library/azure/mt621320.aspx
我需要添加有关正在处理的行的元数据。我需要将文件名添加为一列。我查看了 Git 存储库中的救护车演示,但不知道如何实现它。
您使用了 U-SQL 的一项功能,称为 'file sets' 和 'virtual columns'。在我的简单示例中,我的输入目录中有两个文件,我使用文件集并引用 EXTRACT
语句中的虚拟列,例如
// Filesets, file set with virtual column
@q =
EXTRACT rowId int,
filename string,
extension string
FROM "/input/filesets example/{filename}.{extension}"
USING Extractors.Tsv();
@output =
SELECT filename,
extension,
COUNT( * ) AS records
FROM @q
GROUP BY filename,
extension;
OUTPUT @output TO "/output/output.csv"
USING Outputters.Csv();
我的结果:
在此处详细了解这两个功能:
https://msdn.microsoft.com/en-us/library/azure/mt621320.aspx