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 酷酷的浑蛋 <ap...@163.com> on 2020/08/25 06:05:36 UTC
回复:flink1.11 sql问题
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
回复: flink1.11 sql问题
Posted by 酷酷的浑蛋 <ap...@163.com>.
好吧,谢谢
在2020年08月25日 18:40,Benchao Li<li...@apache.org> 写道:
Hi,
这个功能已经在1.12支持了[1],如果着急使用,可以cherry-pick回去试试看。
用法就是直接把这个字段声明为varchar,json format会帮你自动处理
[1] https://issues.apache.org/jira/browse/FLINK-18002
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午6:32写道:
还没到udf那一步,直接用create table的方式,过来的数据就是获取不到值的,
CREATE TABLE test (
a VARCHAR,
b INT
) WITH (
'connector' = 'kafka',
'topic' = 'test',
'properties.bootstrap.servers' = 'xxx',
'properties.group.id' = 'groupid',
'scan.startup.mode' = 'group-offsets',
'format'='json'
);
在2020年08月25日 16:14,Jim Chen<ch...@gmail.com> 写道:
这个需要你自定义UDF
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
在 2020/8/25 14:59, 酷酷的浑蛋 写道:
还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11
读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
--
Best,
Benchao Li
回复:flink1.11 sql问题
Posted by kcz <57...@qq.com>.
这个功能非常好的,因为第三方数据总是搞事情,动不动就加字段,改名字的。
------------------ 原始邮件 ------------------
发件人: Benchao Li <libenchao@apache.org>
发送时间: 2020年8月25日 18:40
收件人: user-zh <user-zh@flink.apache.org>
主题: 回复:flink1.11 sql问题
Hi,
这个功能已经在1.12支持了[1],如果着急使用,可以cherry-pick回去试试看。
用法就是直接把这个字段声明为varchar,json format会帮你自动处理
[1] https://issues.apache.org/jira/browse/FLINK-18002
酷酷的浑蛋 <apache22@163.com> 于2020年8月25日周二 下午6:32写道:
>
>
> 还没到udf那一步,直接用create table的方式,过来的数据就是获取不到值的,
> CREATE TABLE test (
> a VARCHAR,
> b INT
> ) WITH (
> 'connector' = 'kafka',
> 'topic' = 'test',
> 'properties.bootstrap.servers' = 'xxx',
> 'properties.group.id' = 'groupid',
> 'scan.startup.mode' = 'group-offsets',
> 'format'='json'
> );
>
>
>
>
> 在2020年08月25日 16:14,Jim Chen<chenshuai19950725@gmail.com> 写道:
> 这个需要你自定义UDF
>
> 酷酷的浑蛋 <apache22@163.com> 于2020年8月25日周二 下午3:46写道:
>
> 关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
>
>
>
>
> 在2020年08月25日 15:34,taochanglian<taochanglian@163.com> 写道:
> flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
>
> 在 2020/8/25 14:59, 酷酷的浑蛋 写道:
> 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
>
>
>
>
> 在2020年08月25日 14:05,酷酷的浑蛋<apache22@163.com> 写道:
> 我知道了
>
>
>
>
> 在2020年08月25日 13:58,酷酷的浑蛋<apache22@163.com> 写道:
>
>
>
>
> flink1.11
>
> 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
>
>
--
Best,
Benchao Li
Re: flink1.11 sql问题
Posted by Benchao Li <li...@apache.org>.
Hi,
这个功能已经在1.12支持了[1],如果着急使用,可以cherry-pick回去试试看。
用法就是直接把这个字段声明为varchar,json format会帮你自动处理
[1] https://issues.apache.org/jira/browse/FLINK-18002
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午6:32写道:
>
>
> 还没到udf那一步,直接用create table的方式,过来的数据就是获取不到值的,
> CREATE TABLE test (
> a VARCHAR,
> b INT
> ) WITH (
> 'connector' = 'kafka',
> 'topic' = 'test',
> 'properties.bootstrap.servers' = 'xxx',
> 'properties.group.id' = 'groupid',
> 'scan.startup.mode' = 'group-offsets',
> 'format'='json'
> );
>
>
>
>
> 在2020年08月25日 16:14,Jim Chen<ch...@gmail.com> 写道:
> 这个需要你自定义UDF
>
> 酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
>
> 关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
>
>
>
>
> 在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
> flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
>
> 在 2020/8/25 14:59, 酷酷的浑蛋 写道:
> 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
>
>
>
>
> 在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
> 我知道了
>
>
>
>
> 在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
>
>
>
>
> flink1.11
>
> 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
>
>
--
Best,
Benchao Li
回复: flink1.11 sql问题
Posted by 酷酷的浑蛋 <ap...@163.com>.
还没到udf那一步,直接用create table的方式,过来的数据就是获取不到值的,
CREATE TABLE test (
a VARCHAR,
b INT
) WITH (
'connector' = 'kafka',
'topic' = 'test',
'properties.bootstrap.servers' = 'xxx',
'properties.group.id' = 'groupid',
'scan.startup.mode' = 'group-offsets',
'format'='json'
);
在2020年08月25日 16:14,Jim Chen<ch...@gmail.com> 写道:
这个需要你自定义UDF
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
在 2020/8/25 14:59, 酷酷的浑蛋 写道:
还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11
读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
Re: flink1.11 sql问题
Posted by Jim Chen <ch...@gmail.com>.
这个需要你自定义UDF
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
> 关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
>
>
>
>
> 在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
> flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
>
> 在 2020/8/25 14:59, 酷酷的浑蛋 写道:
> 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
>
>
>
>
> 在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
> 我知道了
>
>
>
>
> 在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
>
>
>
>
> flink1.11
> 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
>
回复: flink1.11 sql问题
Posted by 酷酷的浑蛋 <ap...@163.com>.
CREATE TABLE test (
a VARCHAR,
b INT
) WITH (
'connector'='kafka',
'topic'='test',
'properties.bootstrap.servers'='xxx',
'properties.group.id'='groupid',
'scan.startup.mode'='group-offsets',
'format'='json'
);
我说的是在source阶段,读过来的数据,如果某个key的值是嵌套json或者json数组,那么,format=json是获取不到这个字段值的,直接显示为空
在2020年08月25日 16:23,zilong xiao<ac...@gmail.com> 写道:
直接CAST不可以吗?
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
在 2020/8/25 14:59, 酷酷的浑蛋 写道:
还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11
读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
Re: flink1.11 sql问题
Posted by zilong xiao <ac...@gmail.com>.
直接CAST不可以吗?
酷酷的浑蛋 <ap...@163.com> 于2020年8月25日周二 下午3:46写道:
> 关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
>
>
>
>
> 在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
> flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
>
> 在 2020/8/25 14:59, 酷酷的浑蛋 写道:
> 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
>
>
>
>
> 在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
> 我知道了
>
>
>
>
> 在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
>
>
>
>
> flink1.11
> 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
>
回复: flink1.11 sql问题
Posted by 酷酷的浑蛋 <ap...@163.com>.
关键是那个值不是固定的,有时候是json,有时候是json数组,没办法固定写一个,现在我只想把value当做字符串获取到,难道没有办法吗
在2020年08月25日 15:34,taochanglian<ta...@163.com> 写道:
flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
在 2020/8/25 14:59, 酷酷的浑蛋 写道:
还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
Re: 回复:flink1.11 sql问题
Posted by taochanglian <ta...@163.com>.
flinksql,处理json ,对象的话用row,数组的话用array获取具体的值。
在 2020/8/25 14:59, 酷酷的浑蛋 写道:
> 还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
>
>
>
>
> 在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
> 我知道了
>
>
>
>
> 在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
>
>
>
>
> flink1.11 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?
回复:flink1.11 sql问题
Posted by 酷酷的浑蛋 <ap...@163.com>.
还是这个问题,如果字段的值有时候是json有时候是json数组,那么我只想把它当做字符串显示,该怎么写?
在2020年08月25日 14:05,酷酷的浑蛋<ap...@163.com> 写道:
我知道了
在2020年08月25日 13:58,酷酷的浑蛋<ap...@163.com> 写道:
flink1.11 读取json数据时format=“json”,当数据中某个字段的值是[{"a1":{"a2":"v2"}}]类似这种嵌套,flink取到的值就是空,这个怎么处理?