ADF v2中“复制活动”中列名的子字符串

时间:2018-02-05 18:51:50

标签: azure-data-factory azure-data-factory-2

V2复制活动中是否有一种方法可以对带有表达式的输入列(字符串类型)之一进行操作?在将行加载到目标之前,我需要限制列中的字符数。

我希望简单地从这样的事情转变:

"ColumnMappings": "inColumn: outColumn"

这样的事情:

"ColumnMappings": "@substring(inColumn, 1, 300): outColumn"

如果有人能指出我可以在哪里读到的地方和当可以使用字符串表达式时,我可以使用指南。

2 个答案:

答案 0 :(得分:2)

这是关于表达式和函数的官方文档:https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions

这是关于映射的文档:https://docs.microsoft.com/en-us/azure/data-factory/copy-activity-schema-and-type-mapping

另请记住,如果在复制活动中使用已定义的查询,则可以使用CAST函数(如[fieldName] as varchar(300))来限制特定字段的字符数。

希望这有帮助!

答案 1 :(得分:2)

如果您没有SQL源,但目标是SQL接收器,则可以使用存储过程将数据插入到最终表中。这样,您就可以在存储过程中定义这些类型的转换。我不认为数据工厂可以处理这些类型的活动,它更像是一个协调者。

看看这里: https://docs.microsoft.com/en-us/azure/data-factory/connector-sql-server#invoke-stored-procedure-from-sql-sink