开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

大数据计算MaxCompute继承的UDTF为什么会找不到evaluate方法?

大数据计算MaxCompute继承的UDTF为什么会找不到evaluate方法,这个方法是UDF里面的方法啊?用UDTF函数返回的Array〈string〉类型数据image.png
http://logview.odps.aliyun.com/logview/?h=http://service.cn.maxcompute.aliyun-inc.com/api&p=geely_mcc_prod_spdata_dev&i=20240423072835956gti82bgt0wk5&token=RXNUQ25ZM2xFcWxoYXBJMDMycGZLVmFYeVd3PSxPRFBTX09CTzpwNF8yMDE5OTgxMTE2MTY1MzkwODgsMTcxNjQ0OTMxNix7IlN0YXRlbWVudCI6W3siQWN0aW9uIjpbIm9kcHM6UmVhZCJdLCJFZmZlY3QiOiJBbGxvdyIsIlJlc291cmNlIjpbImFjczpvZHBzOio6cHJvamVjdHMvZ2VlbHlfbWNjX3Byb2Rfc3BkYXRhX2Rldi9pbnN0YW5jZXMvMjAyNDA0MjMwNzI4MzU5NTZndGk4MmJndDB3azUiXX1dLCJWZXJzaW9uIjoiMSJ9import com.alibaba.fastjson.JSONObject;
import com.aliyun.odps.udf.UDFException;
import com.aliyun.odps.udf.UDTF;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.aliyun.odps.udf.annotation.Resolve;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;

@Resolve("string->array")
public class JsonArrayParserUDTF extends UDTF {

private static final Logger logger = LoggerFactory.getLogger(JsonArrayParserUDTF.class);

@Override
public void process(Object[] args) throws UDFException {
    if (args == null || args.length == 0 || args[0] == null) {
        return;
    }

    String jsonStr = args[0].toString();
    if (!jsonStr.startsWith("[") || !jsonStr.endsWith("]")) {
        logger.warn("输入格式不正确,应为JSON数组。");
        return;
    }

    try {
        ArrayList<String> list = new ArrayList<>();
        JSONArray jsonArray = JSON.parseArray(jsonStr);
        for (int i = 0; i < jsonArray.size(); i++) {
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            list.add(jsonObject.toJSONString());
        }
        forward(list);
    } catch (Exception e) {
        logger.error("JSON解析失败: " + jsonStr, e);
    }
}

}

展开
收起
cuicuicuic 2024-05-03 07:56:08 16 0
1 条回答
写回答
取消 提交回答

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

相关电子书

更多
大数据AI一体化的解读 立即下载
极氪大数据 Serverless 应用实践 立即下载
大数据&AI实战派 第2期 立即下载