修改 Azure 数据工厂中活动的输出
Modify output of an acitivity in Azure Data Factory
我想对 Azure 数据工厂中 activity 的输出进行简单的字符串转换。我当然可以为此使用 Databricks 笔记本,但我想要一个更简单、更轻便的解决方案。 Azure 数据工厂中是否有专门用于此目的的内置 activity?
无法直接修改或更改活动的输出。
在Data Factory中,如果你想实现那个,它会很复杂。没有更简单、更轻便的解决方案。此外,Azure 数据工厂中没有专门为此目的而内置的 activity。
数据工厂的解决方法如下:
将活动输出存储到JSON文件中,然后通过数据流修改JSON文件。其他人有post同样的问题,你可以搜索找到。步骤也有点复杂。
通过设置变量将输出传递给参数或变量。然后使用表达式 language/function 修改输出。表达式可能也很复杂。
Azure 数据工厂提供数量有限的 string functions 用于在管道中操作字符串。 concat
、replace
、split
和 substring
是一些主要的,可以让您做这样的事情
- 从完整文件路径获取文件名(使用
lastIndexOf with '\'
)
- 从完整文件路径获取扩展名(使用
lastIndexOf with '.'
)
- 基本的查找和替换操作(使用
replace
)
- 字符串连接(使用
concat
)
在这个例子中,我有一个名为 varName
的变量,其值为 'MetallicPriest'。我使用 Set Variable activity 来 transform 该变量到另一个字符串。如果你能告诉我那个字符串是什么,加分:
@replace(concat(substring(variables('varName'), 3, 2 ), substring(variables('varName'), 7, 3 ), substring(variables('varName'), 0, 1 ), replace(substring(variables('varName'), 10, 4 ),'e','') ), 'Pr', 'He')
还有collection functions like split
, join
and union
which allows you to treat your strings like arrays and do some .
我认为它缺少一些基本的字符串函数,如 reverse
、stuff
、任何类型的正则表达式,您应该注意子字符串是基于 0 的(与 SQL 服务器不同) , 但也许你可以想出一些 黄金 .
Mapping Data Flows 提供了更广泛的字符串函数,但如果您的管道已经有计算可用,例如 SQL 数据库、Databricks、Azure Synapse Notebooks 等,请使用它们,因为它们提供更强大的字符串操作.
我想对 Azure 数据工厂中 activity 的输出进行简单的字符串转换。我当然可以为此使用 Databricks 笔记本,但我想要一个更简单、更轻便的解决方案。 Azure 数据工厂中是否有专门用于此目的的内置 activity?
无法直接修改或更改活动的输出。
在Data Factory中,如果你想实现那个,它会很复杂。没有更简单、更轻便的解决方案。此外,Azure 数据工厂中没有专门为此目的而内置的 activity。
数据工厂的解决方法如下:
将活动输出存储到JSON文件中,然后通过数据流修改JSON文件。其他人有post同样的问题,你可以搜索找到。步骤也有点复杂。
通过设置变量将输出传递给参数或变量。然后使用表达式 language/function 修改输出。表达式可能也很复杂。
Azure 数据工厂提供数量有限的 string functions 用于在管道中操作字符串。 concat
、replace
、split
和 substring
是一些主要的,可以让您做这样的事情
- 从完整文件路径获取文件名(使用
lastIndexOf with '\'
) - 从完整文件路径获取扩展名(使用
lastIndexOf with '.'
) - 基本的查找和替换操作(使用
replace
) - 字符串连接(使用
concat
)
在这个例子中,我有一个名为 varName
的变量,其值为 'MetallicPriest'。我使用 Set Variable activity 来 transform 该变量到另一个字符串。如果你能告诉我那个字符串是什么,加分:
@replace(concat(substring(variables('varName'), 3, 2 ), substring(variables('varName'), 7, 3 ), substring(variables('varName'), 0, 1 ), replace(substring(variables('varName'), 10, 4 ),'e','') ), 'Pr', 'He')
还有collection functions like split
, join
and union
which allows you to treat your strings like arrays and do some
我认为它缺少一些基本的字符串函数,如 reverse
、stuff
、任何类型的正则表达式,您应该注意子字符串是基于 0 的(与 SQL 服务器不同) , 但也许你可以想出一些 黄金 .
Mapping Data Flows 提供了更广泛的字符串函数,但如果您的管道已经有计算可用,例如 SQL 数据库、Databricks、Azure Synapse Notebooks 等,请使用它们,因为它们提供更强大的字符串操作.