从 U-SQL 中的文件名(例如 "vga_20171201.txt")中提取日期时间

To extract the DateTime from the name of file(ex. "vga_20171201.txt") in U-SQL

我想将文件名字符串提取为 DateTime 列。 它的代码如下: @数据= 提炼 ... filename_date 日期时间 来自“/input/vga_{filename_date}.txt” 使用 Extractors.Tsv(skipFirstNRows:1);

文件名=vga_20171201.txt

每当我将数据类型用作 string 或 int 时,它对我有用。

您必须指定 .net date format strings 以及虚拟列名称才能获得该行为,如下所示:

@data =
    EXTRACT someData string,
            filename_date DateTime
    FROM "/input/vga_{filename_date:yyyy}{filename_date:MM}{filename_date:dd}.txt"
    USING Extractors.Tsv(skipFirstNRows : 1);

我有一系列名为 1601.gz 的文件,代表 2016 年 1 月。{date:yyMM}.gz 或 {date:yy}{date:MM}.gz 似乎不是至