You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by Roc Marshal <fl...@126.com> on 2020/09/24 11:53:14 UTC
flink sql ddl 是否支持映射多层json
请教个问题,flink sql 流模式链接kafka的时候,message格式是多层的json,怎么对某个深度大于1的字段进行映射呢?
{
"a11":1,
"a12":"1",
"a13":{
"a21":1,
"a22":1,
"a23":"1"}
}
比如像这样的格式,怎么将a2开头的字段进行映射呢?如果现有版本不支持这个特性的话,是否可以考虑对此功能进行支持?
谢谢
Re: Re: flink sql ddl 是否支持映射多层json
Posted by Benchao Li <li...@apache.org>.
嗯,道理是一样的。ROW/MAP/ARRAY这些本来就是嵌套类型,嵌套深度没有限制
Roc Marshal <fl...@126.com> 于2020年10月21日周三 下午2:38写道:
> 如果是深度是三层以上也是类似的嵌套语法吗?或者说是其他的写法?
>
>
> 谢谢
>
> Best Roc.
>
>
>
>
>
> 在 2020-09-24 20:53:12,"Benchao Li" <li...@apache.org> 写道:
> >这个情况现在是支持的,可以用类似于这种写法:
> >```SQL
> >CREATE TABLE MyTable (
> > a11 INT,
> > a12 VARCHAR,
> > a13 ROW<a21 INT, a22 INT, a23 VARCHAR>
> >) WITH (...)
> >```
> >
> >Roc Marshal <fl...@126.com> 于2020年9月24日周四 下午7:54写道:
> >
> >> 请教个问题,flink sql 流模式链接kafka的时候,message格式是多层的json,怎么对某个深度大于1的字段进行映射呢?
> >> {
> >> "a11":1,
> >> "a12":"1",
> >> "a13":{
> >> "a21":1,
> >> "a22":1,
> >> "a23":"1"}
> >> }
> >>
> >>
> >> 比如像这样的格式,怎么将a2开头的字段进行映射呢?如果现有版本不支持这个特性的话,是否可以考虑对此功能进行支持?
> >>
> >>
> >> 谢谢
> >
> >
> >
> >--
> >
> >Best,
> >Benchao Li
>
--
Best,
Benchao Li
Re:Re: flink sql ddl 是否支持映射多层json
Posted by Roc Marshal <fl...@126.com>.
如果是深度是三层以上也是类似的嵌套语法吗?或者说是其他的写法?
谢谢
Best Roc.
在 2020-09-24 20:53:12,"Benchao Li" <li...@apache.org> 写道:
>这个情况现在是支持的,可以用类似于这种写法:
>```SQL
>CREATE TABLE MyTable (
> a11 INT,
> a12 VARCHAR,
> a13 ROW<a21 INT, a22 INT, a23 VARCHAR>
>) WITH (...)
>```
>
>Roc Marshal <fl...@126.com> 于2020年9月24日周四 下午7:54写道:
>
>> 请教个问题,flink sql 流模式链接kafka的时候,message格式是多层的json,怎么对某个深度大于1的字段进行映射呢?
>> {
>> "a11":1,
>> "a12":"1",
>> "a13":{
>> "a21":1,
>> "a22":1,
>> "a23":"1"}
>> }
>>
>>
>> 比如像这样的格式,怎么将a2开头的字段进行映射呢?如果现有版本不支持这个特性的话,是否可以考虑对此功能进行支持?
>>
>>
>> 谢谢
>
>
>
>--
>
>Best,
>Benchao Li
Re: flink sql ddl 是否支持映射多层json
Posted by Benchao Li <li...@apache.org>.
这个情况现在是支持的,可以用类似于这种写法:
```SQL
CREATE TABLE MyTable (
a11 INT,
a12 VARCHAR,
a13 ROW<a21 INT, a22 INT, a23 VARCHAR>
) WITH (...)
```
Roc Marshal <fl...@126.com> 于2020年9月24日周四 下午7:54写道:
> 请教个问题,flink sql 流模式链接kafka的时候,message格式是多层的json,怎么对某个深度大于1的字段进行映射呢?
> {
> "a11":1,
> "a12":"1",
> "a13":{
> "a21":1,
> "a22":1,
> "a23":"1"}
> }
>
>
> 比如像这样的格式,怎么将a2开头的字段进行映射呢?如果现有版本不支持这个特性的话,是否可以考虑对此功能进行支持?
>
>
> 谢谢
--
Best,
Benchao Li