这个功能非常好的,因为第三方数据总是搞事情,动不动就加字段,改名字的。





------------------ 原始邮件 ------------------
发件人: Benchao Li <libenc...@apache.org&gt;
发送时间: 2020年8月25日 18:40
收件人: user-zh <user-zh@flink.apache.org&gt;
主题: 回复:flink1.11 sql问题



Hi,

这个功能已经在1.12支持了[1],如果着急使用,可以cherry-pick回去试试看。
用法就是直接把这个字段声明为varchar,json format会帮你自动处理

[1] https://issues.apache.org/jira/browse/FLINK-18002

酷酷的浑蛋 <apach...@163.com&gt; 于2020年8月25日周二 下午6:32写道:

&gt;
&gt;
&gt; 还没到udf那一步,直接用create table的方式,过来的数据就是获取不到值的,
&gt; CREATE TABLE test (
&gt;&nbsp;&nbsp;&nbsp;&nbsp; a VARCHAR,
&gt;&nbsp;&nbsp;&nbsp;&nbsp; b INT
&gt;&nbsp; ) WITH (
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'connector' = 'kafka',
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'topic' = 'test',
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'properties.bootstrap.servers' = 'xxx',
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'properties.group.id' = 'groupid',
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'scan.startup.mode' = 'group-offsets',
&gt;&nbsp;&nbsp;&nbsp;&nbsp; 'format'='json'
&gt; );
&gt;
&gt;
&gt;
&gt;
&gt; 在2020年08月25日 16:14,Jim Chen<chenshuai19950...@gmail.com&gt; 写道:
&gt; 这个需要你自定义UDF
&gt;
&gt; 酷酷的浑蛋 <apach...@163.com&gt; 于2020年8月25日周二 下午3:46写道:
&gt;
&gt; 关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
&gt;
&gt;
&gt;
&gt;
&gt; 在2020年08月25日 15:34,taochanglian<taochangl...@163.com&gt; 写道:
&gt; flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
&gt;
&gt; 在 2020/8/25 14:59, 酷酷的浑蛋 写道:
&gt; 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
&gt;
&gt;
&gt;
&gt;
&gt; 在2020年08月25日 14:05,酷酷的浑蛋<apach...@163.com&gt; 写道:
&gt; 我知道了
&gt;
&gt;
&gt;
&gt;
&gt; 在2020年08月25日 13:58,酷酷的浑蛋<apach...@163.com&gt; 写道:
&gt;
&gt;
&gt;
&gt;
&gt; flink1.11
&gt;
&gt; 
读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
&gt;
&gt;

-- 

Best,
Benchao Li

回复