Hi,
flink version: 1.11.2
api: flink-sql
场景:使用flink sql定义了一张kafka的source表,kafka中数据为json格式的字符串。
其中context是json的一个键,其值为jsonObject,数据示例如下:
{
“id”: 1,
"context”: {
…
(这里的数据为jsonObject,具体schema不确定,
由各个业务方自行确定,可能嵌套,也可能不嵌套,完全不可控)
}
}
建表语句为:
CREATE TABLE json_source (
id bigint,
context
) W
可以用string
--
Sent from: http://apache-flink.147419.n8.nabble.com/
String不行,取出来的值是null
Original Message
Sender: silence
Recipient: user-zh
Date: Monday, Dec 7, 2020 14:26
Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
可以用string -- Sent from: http://apache-flink.147419.n8.nabble.com/
可以试试ROW
发自我的iPhone
> 在 2020年12月7日,15:43,xiao cai 写道:
>
> String不行,取出来的值是null
>
>
> Original Message
> Sender: silence
> Recipient: user-zh
> Date: Monday, Dec 7, 2020 14:26
> Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
>
>
> 可以用string -- Sent from: http://apache-flink.147419.n8.nabble.com/
ROW需要写明具体的字段类型,比如:
ROW<`id` string, …>,但是我并没有办法知道jsonObject中具体的schema
Original Message
Sender: 李轲
Recipient: user-zh
Date: Monday, Dec 7, 2020 16:14
Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
可以试试ROW 发自我的iPhone > 在 2020年12月7日,15:43,xiao cai 写道: > >
String不行,取出来的值是null
Schema 不太确定的话,那么下游怎么用这个数据呢?
Best,
Hailong
在 2020-12-07 15:21:16,"xiao cai" 写道:
>ROW需要写明具体的字段类型,比如:
>ROW<`id` string, …>,但是我并没有办法知道jsonObject中具体的schema
>
>
> Original Message
>Sender: 李轲
>Recipient: user-zh
>Date: Monday, Dec 7, 2020 16:14
>Subject:
Schema不确定,下游可以当做JsonString来处理,不同的业务下游处理各自上游的业务,这是由业务两端自己沟通确定的。但是通用的平台这边转的时候是不知道这个规则的,所以需要有一个字段,来统一提供一个字段给外部业务方填充、传递。
Original Message
Sender: hailongwang<18868816...@163.com>
Recipient: user-zh
Date: Monday, Dec 7, 2020 19:52
Subject: Re:Re: FlinkSQL如何定义JsonObject数据的字段类型
Schema 不太确定的话,
Date: Monday, Dec 7, 2020 14:26
>Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
>
>
>可以用string -- Sent from: http://apache-flink.147419.n8.nabble.com/
可以使用字符串的方式,或者自定义 String类型format,内部结构再通过udf去做后续的实现
--
Sent from: http://apache-flink.147419.n8.nabble.com/
hailong 说的定义成 STRING 是在1.12 版本上支持的,
https://issues.apache.org/jira/browse/FLINK-18002
1.12 这两天就会发布,如果能升级的话,可以尝试一下。
Best,
Jark
On Tue, 8 Dec 2020 at 11:56, wxpcc wrote:
> 可以使用字符串的方式,或者自定义 String类型format,内部结构再通过udf去做后续的实现
>
>
>
> --
> Sent from: http://apache-flink.147419.n8.nabble.com/
@JarkWu,你的意思是定义成string,但是输入数据是一个json object也可以支持?这岂不是需要对json部分的反序列化做特殊定制。
比如a字段是string,但数据中a属性是这样的:
"a":{ .. }。在java中相当于需要先将a这部分反序列化为一个map,然后再序列化为json(字符串)后作为a这个string的值。
?是吗。
Jark Wu 于2020年12月8日周二 下午1:42写道:
> hailong 说的定义成 STRING 是在1.12 版本上支持的,
> https://issues.apache.org/jira/browse/FLINK-18
好的,计划下周升级测试下,另:1.12.1计划何时发布呢
Original Message
Sender: Jark Wu
Recipient: user-zh
Date: Tuesday, Dec 8, 2020 13:41
Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
hailong 说的定义成 STRING 是在1.12 版本上支持的,
https://issues.apache.org/jira/browse/FLINK-18002 1.12 这两天就会发布,如果能升级的话,可以尝试一下。
Best, Jark On Tue
0 13:41
> Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
>
>
> hailong 说的定义成 STRING 是在1.12 版本上支持的,
> https://issues.apache.org/jira/browse/FLINK-18002 1.12
> 这两天就会发布,如果能升级的话,可以尝试一下。 Best, Jark On Tue, 8 Dec 2020 at 11:56, wxpcc <
> wxp4...@outlook.com> wrote: >
Hi Jark
Original Message
Sender: Jark Wu
Recipient: user-zh
Date: Wednesday, Dec 9, 2020 14:40
Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
Hi 赵一旦, 这部分 jackson 组件已经自动处理了这部分逻辑。 Hi xiaocai, 你有什么 issue 是需要1.12.1的? 1.12.0
这两天即将发布。 Best, Jark On Wed, 9 Dec 2020 at 14:34, xiao cai
wrote: > 好
Hi Jark
sorry,是1.12.0, 我打错了
Original Message
Sender: Jark Wu
Recipient: user-zh
Date: Wednesday, Dec 9, 2020 14:40
Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
Hi 赵一旦, 这部分 jackson 组件已经自动处理了这部分逻辑。 Hi xiaocai, 你有什么 issue 是需要1.12.1的? 1.12.0
这两天即将发布。 Best, Jark On Wed, 9 Dec 2020 at 14:34, xiao
嗯 1.12.0 这两天就会发布。
On Wed, 9 Dec 2020 at 14:45, xiao cai wrote:
> Hi Jark
> sorry,是1.12.0, 我打错了
>
>
> Original Message
> Sender: Jark Wu
> Recipient: user-zh
> Date: Wednesday, Dec 9, 2020 14:40
> Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
>
>
> Hi 赵一旦, 这部分 j
ng, …>,但是我并没有办法知道jsonObject中具体的schema
> >
> >
> > Original Message
> >Sender: 李轲
> >Recipient: user-zh
> >Date: Monday, Dec 7, 2020 16:14
> >Subject: Re: FlinkSQL如何定义JsonObject数据的字段类型
> >
> >
> >可以试试ROW 发自我的iPhone > 在 2020
如果我只是想要返回jsonObject.toString的内容呢?不需要解析嵌套结构
Original Message
Sender: 赵一旦
Recipient: user-zh
Date: Monday, Dec 7, 2020 21:13
Subject: Re: Re: FlinkSQL如何定义JsonObject数据的字段类型
flink sql 支持不了这个需要。最多支持到Map,Map内部继续嵌套是不支持的。 hailongwang <18868816...@163.com>
于2020年12月7日周一 下午8:03写道: > > >
貌似也不行。推荐你把context细化,一层一层细化,直到某个字段为单层Map的时候使用Map。
即放弃部分数据的灵活性,完全的无限嵌套是不行的。
xiao cai 于2020年12月7日周一 下午9:33写道:
> 如果我只是想要返回jsonObject.toString的内容呢?不需要解析嵌套结构
>
>
> Original Message
> Sender: 赵一旦
> Recipient: user-zh
> Date: Monday, Dec 7, 2020 21:13
> Subject: Re: Re: Flink
19 matches
Mail list logo