flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json

这篇具有很好参考价值的文章主要介绍了flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

特色

相比官方的json_value,该函数支持非标准化json,比如v是个object,但是非标准json会外套一层引号,内部有反引号.

eg:  {"kkkk2":  "{\"kkkk1\":\"vvvvvvv\"}" }

支持value为 100L 这种java格式的bigint.    {"k":999L}

基于jsonPath 方便,可以获取多层级内部值文章来源地址https://www.toymoban.com/news/detail-668342.html

代码实现


import com.alibaba.fastjson2.{JSONPath, JSONReader}
import org.apache.flink.table.functions.ScalarFunction

import scala.util.Try
import org.apache.flink.configuration.{Configuration, RestOptions}
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import org.apache.flink.table.api.Expressions.row
import org.apache.flink.table.api._
import org.apache.flink.table.api.bridge.scala.StreamTableEnvironment

object GetJsonObject {
  def main(args: Array[String]): Unit = {

    val conf = new Configuration
    conf.setInteger(RestOptions.PORT, 38080)
    val env = StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(conf)
    val tEnv = Strea

到了这里,关于flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flink1.17版本安装部署

    提示:这里可以添加本文要记录的大概内容: 随着实时计算需求场景的增加,对计算引擎的实时计算要求也越来越高,而在实时计算方面表现优秀的当属flink,计算引擎从第一代mapreduce到第二代的Tez,再到第三代计算引擎spark、第四代计算引擎则是后来者flink,虽然spark也支持

    2024年02月02日
    浏览(41)
  • Flink1.17.0数据流

    官网介绍 Apache Flink 是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。Flink 被设计为在所有常见的集群环境中运行,以内存中的速度和任何规模执行计算。 1.无限流有一个开始,但没有定义的结束。它们不会在生成数据时终止并提供数据。必须连续处

    2024年02月11日
    浏览(54)
  • Flink1.17最新版本学习记录

    1)Apache Flink 是一个框架和分布式处理引擎,用于在 无边界和有边界 数据流上进行有状态的计算。 2)Flink 能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 1)批流一体 任何类型的数据都可以形成一种事件流。信用卡交易、传感器测量、机器日志、网站

    2024年02月08日
    浏览(50)
  • flink1.17 自定义trigger ContinuousEventTimeTrigger

    在 ContinuousEventTimeTrigger 的基础上新增了timeout,如果超时后窗口都没关闭,那么就硬输出一波,避免间断数据,留存窗口太久. ContinuousEventTimeTrigger连续事件时间触发器与ContinuousProcessingTimeTrigger连续处理时间触发器,指定一个固定时间间隔interval,不需要等到窗口结束才能获取结果

    2024年02月14日
    浏览(38)
  • flink1.17.0 集成kafka,并且计算

    flink是实时计算的重要集成组件,这里演示如何集成,并且使用一个小例子。例子是kafka输入消息,用逗号隔开,统计每个相同单词出现的次数,这么一个功能。 这里我使用的kafka版本是3.2.0,部署的方法可以参考, kafka部署 启动后查看java进程是否存在,存在后执行下一步。

    2024年02月09日
    浏览(42)
  • flink1.17 eventWindow不要配置processTrigger

    理论上可以eventtime processtime混用,但是下面代码测试发现bug,输入一条数据会一直输出. flink github无法提bug/问题. apache jira账户新建后竟然flink又需要一个账户,放弃 idea运行代码后 往source kafka发送一条数据   可以看到无限输出: 理论上时间语义不建议混用,但是在rich函数中的确可

    2024年02月14日
    浏览(44)
  • 尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】 尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】 尚硅谷大数据Flink1.17实

    2024年02月11日
    浏览(40)
  • Python 编写 Flink 应用程序经验记录(Flink1.17.1)

    目录 官方API文档 提交作业到集群运行 官方示例 环境 编写一个 Flink Python Table API 程序 执行一个 Flink Python Table API 程序 实例处理Kafka后入库到Mysql 下载依赖 flink-kafka jar 读取kafka数据 写入mysql数据 flink-mysql jar https://nightlies.apache.org/flink/flink-docs-release-1.17/zh/docs/dev/python/overview/

    2024年02月08日
    浏览(46)
  • 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】 尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】 尚硅谷大数据Flink1.17实

    2024年02月09日
    浏览(48)
  • 尚硅谷大数据Flink1.17实战教程-笔记03【Flink运行时架构】

    尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】 视频地址:尚硅谷大数据Flink1.17实战教程从入门到精通_哔哩哔哩_bilibili 尚硅谷大数据Flink1.17实战教程-笔记01【Flink概述、Flink快速上手】 尚硅谷大数据Flink1.17实战教程-笔记02【Flink部署】 尚硅谷大数据Flink1.17实

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包