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 Benchao Li <li...@apache.org> on 2022/01/06 13:18:37 UTC

Re: 咨询个Flink SQL的问题,如何去除null的字段

我们内部是给json format加了一个功能,允许不把null字段进行序列化。主要解决的也是es这个写入的场景。
你们也可以试一下。

RS <ti...@163.com> 于2021年12月29日周三 16:41写道:

> Hi,
> 使用Flink SQL消费Kafka写ES,有时候有的字段不存在,不存在的不想写入ES,这种情况怎么处理呢?
>
>
> 比如:源数据有3个字段,a,b,c
> insert into table2
> select
> a,b,c
> from table1
> 当b=null的时候,只希望写入a和c
> 当c=null的时候,只希望写入a和b
>
>

-- 

Best,
Benchao Li

Re:Re: 咨询个Flink SQL的问题,如何去除null的字段

Posted by RS <ti...@163.com>.
Hi,
感谢回复,我也测试过这类方法,
我给json format加了个参数,在序列化的时候,row里面去除null,但是这个要修改代码,单独更新flink-json的jar包了,后期维护可能会有问题
这种很适合写ES和写文件,不会有冗余的字段
如果社区能新增这个功能或者合并进去就方便了

在 2022-01-06 21:18:37,"Benchao Li" <li...@apache.org> 写道:
>我们内部是给json format加了一个功能,允许不把null字段进行序列化。主要解决的也是es这个写入的场景。
>你们也可以试一下。
>
>RS <ti...@163.com> 于2021年12月29日周三 16:41写道:
>
>> Hi,
>> 使用Flink SQL消费Kafka写ES,有时候有的字段不存在,不存在的不想写入ES,这种情况怎么处理呢?
>>
>>
>> 比如:源数据有3个字段,a,b,c
>> insert into table2
>> select
>> a,b,c
>> from table1
>> 当b=null的时候,只希望写入a和c
>> 当c=null的时候,只希望写入a和b
>>
>>
>
>-- 
>
>Best,
>Benchao Li