如何在 U-SQL EXTRACT 中使用自定义日期时间格式?

How to use custom DateTime format in U-SQL EXTRACT?

是否可以提供自定义 DateTime 格式字符串作为 EXTRACT 语句的一部分? (默认好像是mm/dd/yyyy,我的数据是dd/mm/yyyy)

或者我们将初始行集加载为字符串,然后将其转换为 DateTime

例如这似乎可行(尽管本地 运行 时间在 > 1 个输入文件时变得更慢)

@data =
    EXTRACT filepath string,
            username string,
            startsize long,
            endsize long,
            startdateSTR string,
            enddateSTR string,

    FROM @"/Input/Log_01_May_2016.txt" ,
         @"/Input/Log_02_May_2016.txt" ,
         @"/Input/Log_03_May_2016.txt"
    USING Extractors.Tsv(skipFirstNRows:1);

@dated =
    SELECT filepath,
           username,
           startsize,
           endsize,
           DateTime.ParseExact(enddateSTR, "dd/MM/yyyy HH:mm:ss", null).DayOfYear AS enddate
    FROM @data;

目前您有两个选择:

  1. 提取为字符串并在随后的select中使用DateTime.Parse方法。这是目前首选的方式。

  2. 编写一个更了解您的文化设置的自定义提取器。

我们正在为路线图上的提取器和输出器提供更多国际化支持。请 add your vote on our feedback page 帮助我们确定优先级。

谢谢!