使用数据工厂与Azure数据仓库映射.tsv文件数据时出错

时间:2019-10-19 18:18:49

标签: azure azure-sql-database azure-data-factory azure-data-lake u-sql

我想将 .tsv 文件中存在的表单数据湖中的数据复制到Azure数据仓库中,但是 date 数据类型中有2列,因此在映射列时遇到问题。因此,我无法加载数据。我只能在需要时使用u-SQL活动。

1 个答案:

答案 0 :(得分:1)

我尝试并测试过,总是收到错误消息:

"ErrorCode=UserErrorInvalidDataValue,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,
Message=Column 'dd' contains an invalid value '20190101'.,Source=Microsoft.DataTransfer.ServiceLibrary,''Type=System.ArgumentException,Message=String was not recognized as a valid DateTime.Couldn't store <20190101> in dd Column.  Expected type is DateTime.,Source=System.Data,''Type=System.FormatException,Message=String was not recognized as a valid DateTime.,Source=mscorlib,'",
        "failureType": "UserError",
        "target": "Copy_b70"

如果您不想更改tsv文件,建议您使用“数据流派生列”。它可以帮助将“ 20100101”数据转换为正确的日期格式。

派生列

enter image description here

将此表达式用于字段“ 20100101”:

   add( (substring(Column_2, 1, 4)),'-')+
   add((substring(Column_2, 5, 2)), '-')+
   substring(Column_2, 7, 2)

enter image description here

可以。

enter image description here

希望这会有所帮助。