如何在Cloud Data Fusion中用unnest函数实现按数量重复记录
在Cloud Data Fusion Wrangler中实现按qty字段重复行的方法
要实现按qty字段值重复对应行数的需求,你可以通过以下几步Wrangler指令完成:
生成重复标记的临时列
使用repeat指令创建一个临时列,用任意字符(比如逗号)重复qty次,后续用来拆分生成数组:repeat :qty "," temp_col比如qty=2时,该列值为
",,"。拆分临时列为数组
用split指令把临时列的字符串拆分成数组,数组长度正好等于qty的值:split :temp_col "," temp_arrqty=2的行,
temp_arr会是["", ""]这样的数组。展开数组生成重复行
使用explode指令将数组列展开,每一个数组元素对应一行原数据:explode :temp_arr执行后,原行就会根据qty的值重复对应次数。
清理临时列
最后删掉之前创建的临时列:drop :temp_col,:temp_arr
完整指令序列
你可以把这些指令按顺序执行,或者合并成一串:
repeat :qty "," temp_col; split :temp_col "," temp_arr; explode :temp_arr; drop :temp_col,:temp_arr
这样就能得到你需要的输出格式,每行根据qty的值重复对应次数。
内容的提问来源于stack exchange,提问作者naveen
相关产品推荐
相关产品推荐

