gt; Best,
> Jingsong Lee
>
>
> --
> From:Caizhi Weng
> Send Time:2020年1月15日(星期三) 11:53
> To:user-zh
> Subject:Re: 求助帖: 流join场景可能出现的重复计算
>
> Hi,
>
> Flink 目前认为所有的 source 都是 append only 的,retract、upsert 等都是内部处理时的概念,对用户是不可见的。
>
> 所以目前你只能先通过 group by 和 last_va
-zh
Subject:Re: 求助帖: 流join场景可能出现的重复计算
Hi,
Flink 目前认为所有的 source 都是 append only 的,retract、upsert 等都是内部处理时的概念,对用户是不可见的。
所以目前你只能先通过 group by 和 last_value 等方式实现功能。不过 1.11 有计划支持这样的需求。
Ren Xie 于2020年1月14日周二 下午9:30写道:
> 谢谢
>
> 考虑过group by , 实际中 一个好多字段的表, 保不准就是那个字段发生了变化.
>
> 请问 类似的双流操作在开发
udent_id,然后再与score流join。
> >
> > -邮件原件-
> > 发件人: xin Destiny
> > 发送时间: Tuesday, January 14, 2020 6:39 PM
> > 收件人: user-zh@flink.apache.org
> > 主题: Re: 求助帖: 流join场景可能出现的重复计算
> >
> > Hi,
> > 如果说插入两条update操作呢,一次分数是-97,一次是97
> >
> >
&g
的消息
> 3,基于时间窗口的聚合,对于student表的数据,每n秒输出一个唯一的student_id,然后再与score流join。
>
> -邮件原件-
> 发件人: xin Destiny
> 发送时间: Tuesday, January 14, 2020 6:39 PM
> 收件人: user-zh@flink.apache.org
> 主题: Re: 求助帖: 流join场景可能出现的重复计算
>
> Hi,
> 如果说插入两条update操作呢,一次分数是-97,一次是97
>
>
>
谢谢解答!
稍微用代码写了一下, 如下:
public class JoinMain1 {
private static final String host = "127.0.0.1";
private static final intport = 9000;
private static final intport1 = 9001;
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment env =
帖: 流join场景可能出现的重复计算
Hi,
如果说插入两条update操作呢,一次分数是-97,一次是97
Ren Xie 于2020年1月14日周二 下午6:20写道:
> 实际场景还是有点复杂的, 便于理解 我简化成这样的, 简化后的这个, 没有实际的代码, 抱歉
>
> 大致 写一下 也就是这样了
> ```sql
> select sum(score)
> from
> student t1 inner join score t2 on t1.student_id = t2.std_id where
>
Hi,
如果说插入两条update操作呢,一次分数是-97,一次是97
Ren Xie 于2020年1月14日周二 下午6:20写道:
> 实际场景还是有点复杂的, 便于理解 我简化成这样的, 简化后的这个, 没有实际的代码, 抱歉
>
> 大致 写一下 也就是这样了
> ```sql
> select sum(score)
> from
> student t1 inner join score t2 on t1.student_id = t2.std_id
> where
> t1.student_id = 11
> ```
> 然后
>
>
实际场景还是有点复杂的, 便于理解 我简化成这样的, 简化后的这个, 没有实际的代码, 抱歉
大致 写一下 也就是这样了
```sql
select sum(score)
from
student t1 inner join score t2 on t1.student_id = t2.std_id
where
t1.student_id = 11
```
然后
```Java
String sql = ↑;
Table t = tEnv.sqlQuery(sql);
DataStream stream1 = tEnv.toAppendStream(t,
Hi,
有可能的话,是否方便提供一下代码呢?
Ren Xie 于2020年1月14日周二 下午5:38写道:
> 学生
> student_id name
> 11 foo
>
> 学科分数
> id name score std_id
> 100 math 97 11
> 101 english 98 11
>
> 有如下一个场景(假设只有一个学生)
>
> 基于binlog检测这2个表的变化, 计算这个学生的总分数, 使用了Table/SQL API join操作计算
>
> 假设insert以上数据后到达某时刻, 以上数据都进入了flink, 计算出这个学生总分数 97 +
学生
student_id name
11 foo
学科分数
id name score std_id
100 math 97 11
101 english 98 11
有如下一个场景(假设只有一个学生)
基于binlog检测这2个表的变化, 计算这个学生的总分数, 使用了Table/SQL API join操作计算
假设insert以上数据后到达某时刻, 以上数据都进入了flink, 计算出这个学生总分数 97 + 98 = 195
但此时发现学生姓名登记错误, 于是进行了修改,
结果此时Flink中学生流中有2个事件(insert的一个+update的一个),
10 matches
Mail list logo