如何分析Flink中的KeyBy
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,如何分析Flink中的KeyBy,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。KeyBy算子:将数据流按照指定key进行分区(分组)
千家信息网最后更新 2025年02月04日如何分析Flink中的KeyBy
如何分析Flink中的KeyBy,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
KeyBy算子:将数据流按照指定key进行分区(分组)
示例环境
java.version: 1.8.xflink.version: 1.11.1
示例数据源 (项目码云下载)
Flink 系例 之 搭建开发环境与数据
KeyBy.java
package com.flink.examples.functions;import com.flink.examples.DataSource;import org.apache.flink.api.java.functions.KeySelector;import org.apache.flink.api.java.tuple.Tuple3;import org.apache.flink.streaming.api.datastream.DataStream;import org.apache.flink.streaming.api.datastream.KeyedStream;import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;import java.util.List;/** * @Description KeyBy算子:将数据流按照指定key进行分区 */public class KeyBy { /** * 遍历集合,将用户按性别分成两类 * @param args * @throws Exception */ public static void main(String[] args) throws Exception { final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); //如果有多个分区,则设置并行度需大于1,或者在算子上设置setParallelism(2)前行度,否则算子只有一个并行度,则计算结果始终只有一个分区// env.setParallelism(4); List> tuple3List = DataSource.getTuple3ToList(); DataStream > dataStream = env.fromCollection(tuple3List); //注意:使用Integer进行分区时,会导致分区结果不对,转换成String类型输出key即可正确输出 KeyedStream , String> keyedStream = dataStream.keyBy(new KeySelector , String>() { @Override public String getKey(Tuple3 tuple3) throws Exception { //f1为性别字段,以相同f1值(性别)进行分区 return String.valueOf(tuple3.f1); } }); //lambda// KeyedStream , String> keyedStream = dataStream.keyBy((KeySelector , String>) t3 -> t3.f1); //指定第几个字段做为key进行计算// KeyedStream , Tuple> keyedStream = dataStream.keyBy(1); keyedStream.print().setParallelism(4); env.execute("flink keyBy job"); }}
打印结果
2> (张三,man,20)4> (李四,girl,24)2> (王五,man,29)4> (刘六,girl,32)2> (吴八,man,30)4> (伍七,girl,18)
关于如何分析Flink中的KeyBy问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
数据
算子
分析
性别
结果
问题
只有
字段
数据流
更多
环境
示例
帮助
解答
输出
不对
易行
相同
简单易行
内容
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
重庆crm软件开发报价
数据库怎么改连接密码
服务器文件如何复制到本地
回收二手服务器
软件开发 公司 内部网站
任天堂游戏内无法连接服务器
软件开发岗转正报告
残联网络安全事件应急预案方案
SCUM服务器存档没了
淮南证券软件开发定制
数据库要如何搭建数据库
拒绝履行信息网络安全管理罪
虹口区会计软件开发咨询报价
盗走达芬奇软件开发
nist数据库气体
数据库在项目中的应用
服务器人工服务器
万智牌卡牌数据库
杭州瀚阅网络技术有限公司
数据库系统如何用代码制作表格
关系型数据库建立规则
网络安全有哪些书籍推荐
软件开发哪些工种好
网络技术专业能做深恶
江苏进口网络技术特点
计算机选修数据库管理技术
首个网络安全实训基地成立
安徽微型软件开发市场报价
网络安全怎么做200字
软件开发工程师岗位职责及要求