maxcompute 对象型数组(字符串)数据提取函数

项目场景:

maxcompute

问题描述

mongdb数据同步到maxcompute时 出现一个字段 存储的是 对象数组型字符串,此时想 将对象中的某个字段做统计


解决方案:

类似这种字符串
-- '[{"addOnDealId":0,"amount":"2"}, {"addOnDealId":0,"amount":"2"}, {"addOnDealId":0,"amount":"2"}]'

此时需要提取amount字段做求和

select array_reduce(
    from_json('[{"addOnDealId":0,"amount":"3"}, {"addOnDealId":0,"amount":"3"}, {"addOnDealId":0,"amount":"2"}]', 'array<Struct<amount:string>>'), 0, 
    (buf, e)->buf + CAST(e.amount as int), buf->buf);

array_reduct 将数组聚合
from_json 将json类型字符串 进行格式转换
cast 类型转换

(小白,有更好的方法麻烦教教,哈,目前想到的最好方法了)
参考:https://help.aliyun.com/document_detail/48969.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值