0

我目前在 Azure 数据工厂中使用一组 CSV 日志文件,我需要对其进行处理并输入到 SQL 表中。

问题是某些列包含时间戳,其中年份由 2 位数字表示(而不是完整的 4 位数字年份)。前任。01/03/17 22:10:33日期格式为MM/dd/yy HH:mm:ss

如何将其转换为日期或将“20”添加到年份?(例如01/03/17 22:10:33会变成01/03/2017 22:10:33)。这在代码中非常简单,但我不确定如何在 Azure 数据工厂的数据流中完成。

编辑:正如@HimanshuSinha-msft 提到的,必须在解析之前删除撇号才能工作。我使用以下内容在数据流中添加了一个额外的步骤:toTimestamp(substring({Column Name},2,length({Column Name})-1), 'MM/dd/yy hh:mm:ss')它起作用了!

4

2 回答 2

0

ADF 数据流完全支持 Java 标准日期/时间格式化程序。在您的情况下,您将按原样转换 toTimestamp() 以排列日期/时间组件,然后转换为您希望使用 toString() 实现的输出字符串:

toString(toTimestamp('01/03/17 22:10:33', 'MM/dd/yy HH:mm:ss'), 'MM/dd/yyyy HH:mm:ss')

更多细节:

https://docs.microsoft.com/en-us/azure/data-factory/data-flow-expression-functions#totimestamp

https://docs.microsoft.com/en-us/azure/data-factory/concepts-data-flow-expression-builder#convert-to-dates-or-timestamps

于 2020-10-20T18:13:06.677 回答
0

这是一个对我来说是一个障碍的技巧,但试试这个 -

  1. 去下沉
  2. 映射
  3. 点击输出格式
  4. 选择您希望将数据存储到接收器中的数据格式或时间格式。

选择您想要的任何定义的格式。

于 2021-06-14T07:07:43.020 回答