如何在Azure Data Factory Parse活动中设置动态复杂类型?
动态解析替换属性后的JSON数组解决方案
绕开Parse活动的动态Schema限制,直接在数据流里映射转换
既然Parse活动没法直接引用缓存或参数定义复杂类型,别死磕它。直接在Data Flow里用map()函数遍历Tags数组,一次性完成属性名替换和结构转换:map(Tags, (item) => ({ property: item.tag, property1: item.tag1 }))处理完直接得到结构正确的数组,后续不用再做Parse操作。
非要用Parse活动?先预处理字符串再用静态Schema
先在Derived Column活动里把Tags的JSON字符串里的属性名替换掉:replace(replace(Tags, '"tag":', '"property":'), '"tag1":', '"property1":')然后给Parse活动提前定义好包含
property、property1的静态复杂类型数组Schema,直接解析处理后的列就行。参数化Schema的变通玩法
把目标的JSON Schema写成参数,格式要符合ADF要求,比如:{ "type": "array", "items": { "type": "object", "properties": { "property": {"type": "string"}, "property1": {"type": "string"} } } }然后在Parse活动的Schema设置里选“动态内容”,直接引用这个参数就能实现动态Schema解析。
内容的提问来源于stack exchange,提问作者Alejandro Alvarez
相关产品推荐
相关产品推荐

