请问,有全局状态组件吗?我有一个需求需要对数据里的id和name做映射,也就是如果两条数据的id或者name相同则映射成一个值;现在只能使用operator state,并且并行度设置为1,来实现全局state
谢谢 发自我的iPhone |
任意并行度全局状态从物理上就是不可行的,你可以了解一下分布式计算系统怎么部署物理作业的。“全局状态”要么依赖外部存储要么依赖实现(部署)细节。
你这个需求能不能自定义 KeyBy 细节(KeySelector)来实现?相关文档见 https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/api_concepts.html#define-keys-using-key-selector-functions Best, tison. star <[hidden email]> 于2020年5月26日周二 下午6:42写道: > 请问,有全局状态组件吗?我有一个需求需要对数据里的id和name做映射,也就是如果两条数据的id或者name相同则映射成一个值;现在只能使用operator > state,并且并行度设置为1,来实现全局state > > > 谢谢 > > 发自我的iPhone |
hi
你的意思是说两条数据 第一条的id等于第二条的id 或者 第一条的name等于第二条的name 则映射成同一个 keyby的方式我不知道能不能满足你的需求 但我理解如果id和name不是随机的话,有映射关系的话可以尝试了解广播 ------------------ 原始邮件 ------------------ 发件人: tison <[hidden email]> 发送时间: 2020年5月26日 19:01 收件人: user-zh <[hidden email]> 主题: 回复:全局state 任意并行度全局状态从物理上就是不可行的,你可以了解一下分布式计算系统怎么部署物理作业的。“全局状态”要么依赖外部存储要么依赖实现(部署)细节。 你这个需求能不能自定义 KeyBy 细节(KeySelector)来实现?相关文档见 https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/api_concepts.html#define-keys-using-key-selector-functions Best, tison. star <[hidden email]> 于2020年5月26日周二 下午6:42写道: > 请问,有全局状态组件吗?我有一个需求需要对数据里的id和name做映射,也就是如果两条数据的id或者name相同则映射成一个值;现在只能使用operator > state,并且并行度设置为1,来实现全局state > > > 谢谢 > > 发自我的iPhone |
In reply to this post by tison
感谢您的回复,通过keyby细节实现有点难.
id:1,name:A,value:A1 id:2,name:A,value:A2 id:1,name:B,value:A3 以上三条记录,第一条最先到达,后面两条到达后发现id或者name和第一条的id或者name一致value就取第一条的值。 输出: id:1,name:A,value:A1 id:2,name:A,value:A1 id:1,name:B,value:A1 原来的想法是存一个map,map的key是id或者name,value是对应的value值;例如上面例子对应的mapstate对应的k,v: key:1,value:A1 key:A,value:A1 key:2,value:A1 key:B,value:A1 发自我的iPhone ------------------ 原始邮件 ------------------ 发件人: tison <[hidden email]> 发送时间: 2020年5月26日 19:01 收件人: user-zh <[hidden email]> 主题: 回复:全局state 任意并行度全局状态从物理上就是不可行的,你可以了解一下分布式计算系统怎么部署物理作业的。“全局状态”要么依赖外部存储要么依赖实现(部署)细节。 你这个需求能不能自定义 KeyBy 细节(KeySelector)来实现?相关文档见 https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/api_concepts.html#define-keys-using-key-selector-functions Best, tison. star <[hidden email]> 于2020年5月26日周二 下午6:42写道: > 请问,有全局状态组件吗?我有一个需求需要对数据里的id和name做映射,也就是如果两条数据的id或者name相同则映射成一个值;现在只能使用operator > state,并且并行度设置为1,来实现全局state > > > 谢谢 > > 发自我的iPhone |
Hi
我想到一个方案,你可以参考一下 源数据: id:1,name:A,value:A1, time: t1 id:2,name:A,value:A2, time: t2 id:1,name:B,value:A3, time: t3 经过flatMap后: id-name: 1-A, key: 1, value: A1, time: t1 id-name: 1-A, key: A, value: A1, time:t1 id-name: 2-B, key: 2, value: A2, time: t2 id-name: 2-B, key: B, value: A2, time: t2 id-name: 1-B, key: 1, value: A3, time:t3 id-name: 1-B, key: B, value: A3, time:t3 然后根据key做keyBy,里面keyBy里面的state,根据时间获取对应的value 然后再做一次keyby,不过是根据id-name 去合并回来,就可以实现你的问题了 [hidden email] 发件人: star 发送时间: 2020-05-27 00:05 收件人: user-zh 主题: 回复:全局state 感谢您的回复,通过keyby细节实现有点难. id:1,name:A,value:A1 id:2,name:A,value:A2 id:1,name:B,value:A3 以上三条记录,第一条最先到达,后面两条到达后发现id或者name和第一条的id或者name一致value就取第一条的值。 输出: id:1,name:A,value:A1 id:2,name:A,value:A1 id:1,name:B,value:A1 原来的想法是存一个map,map的key是id或者name,value是对应的value值;例如上面例子对应的mapstate对应的k,v: key:1,value:A1 key:A,value:A1 key:2,value:A1 key:B,value:A1 发自我的iPhone ------------------ 原始邮件 ------------------ 发件人: tison <[hidden email]> 发送时间: 2020年5月26日 19:01 收件人: user-zh <[hidden email]> 主题: 回复:全局state 任意并行度全局状态从物理上就是不可行的,你可以了解一下分布式计算系统怎么部署物理作业的。“全局状态”要么依赖外部存储要么依赖实现(部署)细节。 你这个需求能不能自定义 KeyBy 细节(KeySelector)来实现?相关文档见 https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/api_concepts.html#define-keys-using-key-selector-functions Best, tison. star <[hidden email]> 于2020年5月26日周二 下午6:42写道: > 请问,有全局状态组件吗?我有一个需求需要对数据里的id和name做映射,也就是如果两条数据的id或者name相同则映射成一个值;现在只能使用operator > state,并且并行度设置为1,来实现全局state > > > 谢谢 > > 发自我的iPhone |
Free forum by Nabble | Edit this page |