开发者社区> 问答> 正文

Flink SQL读取复杂JSON格式

Hello,各位大佬: 请教下大佬们,在Flink SQL中读取Kafka中的数据,但Kafka中的数据比较复杂,其中json的data属性中的值是数组,但数组的内容是动态的,没有统一,如果定义create table时候schema呢?我定义了array ,想自己定义UDF来处理的,在JsonNode中的asText无法取到数据。 请问各位大佬有啥高招呢?谢谢。

kafka消息样例(data的value是动态的): {"source":"transaction_2020202020200","data":[{"name":"d1111"},{"age":18}]} 我定义的schema: create table kafka_message( source string, data array )with...*来自志愿者整理的flink邮件归档

展开
收起
小阿怪 2021-12-06 12:16:54 1432 0
1 条回答
写回答
取消 提交回答
  • http://apache-flink.147419.n8.nabble.com/FlinkSQL-JsonObject-td9166.html#a9259 这个邮件列表有相似的问题,你看下有没有帮助。 PS:1.12 即将发布,也支持了 Raw 类型[1],也可以使用这个类型,然后代码自己 UDF 再处理。使用 Raw 类型也有个好处是,Source 消费不会因为 format 解析慢导致任务的瓶颈在拉数据慢,因为往往 Source 的并发度最大也只能是中间件的分区数,比如 Kakfa。 [1] https://ci.apache.org/projects/flink/flink-docs-master/dev/table/connectors/formats/raw.html *来自志愿者整理的flink邮件归档

    2021-12-06 13:20:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载