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

Flink有没有大佬写过类似sparksql的from_json的UDF啊?

Flink有没有大佬写过类似sparksql的from_json的UDF啊?

展开
收起
真的很搞笑 2023-08-14 21:32:27 54 0
1 条回答
写回答
取消 提交回答
  • Flink 中没有内置的从 JSON 字符串解析到对象的函数,但是可以通过自定义 UDF 来实现。以下是一个简单的示例:

    import org.apache.flink.table.annotation.DataTypeHint;
    import org.apache.flink.table.annotation.InputTypeHint;
    import org.apache.flink.table.functions.UserDefinedFunction;
    import org.apache.flink.table.types.DataType;

    public class FromJson extends UserDefinedFunction {

    @DataTypeHint(value = DataType.ROW())
    public Object eval(@InputTypeHint(value = DataType.STRING()) String json) {
        // 解析 JSON 字符串
        Object obj = JSON.parse(json);
    
        // 返回解析得到的对象
        return obj;
    }
    

    }
    该 UDF 的输入参数是一个 JSON 字符串,输出参数是一个对象。可以将该 UDF 注册到 Flink 表上,然后就可以使用它从 JSON 字符串解析到对象了。

    例如,以下是使用该 UDF 从 JSON 字符串解析到对象的代码:

    SELECT FromJson(json) FROM table;
    其中,json 是 JSON 字符串,table 是 Flink 表。

    2023-09-22 11:34:25
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载