Re:Re:Re:Re: flink sql collect函数使用问题

2021-12-05 文章 casel.chen
这只是我举的一个例子,实际业务会有使用这种group by再收集成集合的场景 在 2021-12-04 15:51:01,"RS" 写道: >SELECT class_no, collect(info) > >FROM ( > >SELECT class_no, ROW(student_no, name, age) AS info > >FROM source_table > >) > >GROUP BY class_no; > > >从SQL层面想到比较接近的方法,但multiset无法转array > >

Re:Re:Re: flink sql collect函数使用问题

2021-12-03 文章 RS
SELECT class_no, collect(info) FROM ( SELECT class_no, ROW(student_no, name, age) AS info FROM source_table ) GROUP BY class_no; 从SQL层面想到比较接近的方法,但multiset无法转array 从你的需求描述看,mongodb目标表的这种班级设计平时可能不太需要,如果是为了查某个班所有的学生的话,在查询的时候加个where条件即可,没有必要把明细数据再放到一个数组里面 感觉可能是你定义表结构和实际使用方面的问题,可以换个角度思考下 在

Re:Re: flink sql collect函数使用问题

2021-12-02 文章 casel.chen
可我要的最终结果不是string,最好是通用的Row类型,这样的话下次聚合其他维度就不用重复开发UDF了。 类似我这样的需求应该其他人也会遇到吧? 功能:collect出一个Multiset即map,key是数据本身,value是数据出现的次数,可以按出现次数排序等。 输出可以是去重或不去重的Array(按出现次数排序或不排序),也可以就是map本身 目前collect函数可以输出一个Multiset即map,但要怎么按value即出现次数排序并只输出排序后的keyset,用flink sql要怎么写呢? 在 2021-12-02

Re: flink sql collect函数使用问题

2021-12-01 文章 cyril cui
af里acc为个list,merge的时候合并,输出的时候 list拼成string即可 casel.chen 于2021年12月2日周四 上午9:46写道: > 使用场景如下,将kafka源表通过flink sql处理成mongodb汇表存入。按照班级进行group > by,输出对应班级所有的学生数据集合。请问用flink sql自带的collect函数能实现吗?如果能的话要怎么写sql? > 如果不能的话要怎么写UDAF,有例子参考吗?谢谢! > > kafka源表: > 班级 学号 姓名 年龄 > 1 20001张三

flink sql collect函数使用问题

2021-12-01 文章 casel.chen
使用场景如下,将kafka源表通过flink sql处理成mongodb汇表存入。按照班级进行group by,输出对应班级所有的学生数据集合。请问用flink sql自带的collect函数能实现吗?如果能的话要怎么写sql? 如果不能的话要怎么写UDAF,有例子参考吗?谢谢! kafka源表: 班级 学号 姓名 年龄 1 20001张三 15 2 20011李四 16 1 20002王五 16 2 20012吴六

Re: flink sql if 函数使用问题

2020-06-30 文章 Benchao Li
看报错,应该是你的IF的后面两个参数的类型不同吧。这里应该让后面两个参数的类型也相同的,要不然IF函数的返回值类型就不好确定了。 kcz <573693...@qq.com> 于2020年7月1日周三 上午11:03写道: > flink-1.10.1 blink_planner > if使用时候限制了返回的数据类型吗? > Cannot apply 'IF' to arguments of type 'IF( 'IF( 我想创建DDL时候,因为字段可能有空,所以如果为空了我想设置一个默认值,但是报错提示是只支持返回数据类型。 -- Best, Benchao Li