如何解决数据流单行转换
谢谢 阿努吉·古普塔
解决方法
如果列数据CN=SERVICE NOW,OU=TOOL;CN=PYTHON,OU=LANGUAGE;CN=ADF,OU=CLOUD
schema是固定的,那么可以使用数据流derived column表达式来实现。
数据流派生列表达式:
- Col1 列值:
col1
-->{Col1 }
- 列值:
SERVICE NOW
-->substring(split({ Col2},';')[1],5,length(split({ Col2},';')[1])-12)
- b 列值:PYTHON -->
substring(split({ Col2},';')[2],4,';')[1])-17)
- c 列值:
ADF
-->substring(split({ Col2},';')[3],';')[1])-20)
但是如果数据是动态的,我们就无法在数据工厂中进行转换,这是无法实现的。
,逻辑:你可以得到'CN='第一次出现的索引和逗号第一次出现的索引来得到它们之间的第一个词,即Service Now。
其他人也一样。
如果我有时间,我会尝试用实际的语法来编辑它!
,字符串由;分隔。首先在派生变换中按那个分割(所以你得到一个数组)。然后,您可以使用 'map' 函数提取最后一个 = 之前的字符串。您将拥有一组值(ADF/Python 等)。然后使用展平变换将列转换为行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。