当前位置: 首页 > news >正文

网站维护主要从哪几个方面做网站制作复杂吗

网站维护主要从哪几个方面做,网站制作复杂吗,怎么做网站教程+用的工具,网站互联网推广前面的文章中介绍过Operator State,这里介绍一下Keyed State. 在使用Operator State时必须要实现CheckpointFunction接口,而Keyed State则不需要,在使用keyBy(...)分组分组后,调用的函数必须是实现RichFuntion接口的函数才可以使用Keyed State.同样使用Keyed State也必须开启Ch…

前面的文章中介绍过Operator State,这里介绍一下Keyed State.
在使用Operator State时必须要实现CheckpointFunction接口,而Keyed State则不需要,在使用keyBy(...)分组分组后,调用的函数必须是实现RichFuntion接口的函数才可以使用Keyed State.同样使用Keyed State也必须开启Checkpoint.

  • 需求
    将接收到的Socket数据源中的字符串进行拼接
    在命令行开启socket命令:
    nc -lk 8888
    
  • 业务代码
    public class FlinkKeyedState {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 设置并行度为1,便于观察env.setParallelism(1);// 开启Checkpoint, 8秒一个周期并开启一次性语义env.enableCheckpointing(8000, CheckpointingMode.EXACTLY_ONCE);// 指定checkpoint持久化路径env.getCheckpointConfig().setCheckpointStorage("file:///Users/xxx/data/testData/checkpoint");// 开启Task级别故障自动failover,通过fixedDelayRestart设置Task重启上限和重启间隔,这里设置的重启次数为2次,一旦Task重启次数超过这个次数,整个job也会停止env.setRestartStrategy(RestartStrategies.fixedDelayRestart(2, Time.seconds(5)));// 获取Socket数据源DataStreamSource<String> socketSource = env.socketTextStream("localhost", 8888);// 将数据进行分组,将分组key给一个常量值SingleOutputStreamOperator<String> map = socketSource.keyBy(s -> "1")// 使用Keyed State的算子必须实现RichFunction接口,如RichMapFunction,ProcessFunction等.map(new RichMapFunction<String, String>() {ListState<String> listState;// open方法可以理解为和Operator State中的initializeState方法一样,需要在这个方法中构造和获取状态存储器@Overridepublic void open(Configuration parameters) throws Exception {// 获取上下文RuntimeContext ctx = getRuntimeContext();// 获取ListState,不同于Operator State的是在这里有更多的选择,如ListState,MapState等listState = ctx.getListState(new ListStateDescriptor<>("demo", String.class));}// 在map方法中正常编写业务逻辑@Overridepublic String map(String s) throws Exception {// 模拟Task失败if (s.equals("k") && RandomUtils.nextInt(0, 5) == 3) {throw new Exception("Task 异常");}// 将数据添加到状态存储器中listState.add(s);Iterable<String> strings = listState.get();StringBuilder builder = new StringBuilder();for (String string : strings) {builder.append(string);}return builder.toString();}});map.print();env.execute("Keyed State");}
    }
    
    API的使用大概就这些内容,不过在使用Keyed Sate时首先要对keyBy的特性有所了解,才能得到最终想要的结果数据,如使用keyBy时上下游之间的数据分发模式、所设置的默认并行度上下游算子的并行度是否一致等问题,这些都是需要注意的,然后根据实际业务需求开发对应的逻辑就可以了.
http://www.yayakq.cn/news/802328/

相关文章:

  • 外贸公司网站搭建网站如何seo
  • 交互设计网站推荐Wordpress主题 修改 价钱
  • 单页设计网站seo项目经理
  • 网站栏目建设存在的问题哪里做网站百度收录块
  • 网站调研方法有哪些内容有哪些网站是响应式的
  • 美色商城 网站建设无限建站系统
  • 上海网络公司网站建设学习网站免费
  • 中山企业推广网站制作旅游公司注册条件
  • 上市公司做网站有什么用卢松松wordpress模板
  • 上海免费网站建设多少钱算敲诈勒索
  • 网站建设中的功能模块描述wordpress 评论邮件通知
  • 有新浪的域名怎么做网站厦门模板建站
  • 网页制作与网站建设知识框架图山东新华电脑学院学网站开发
  • 在word上怎么做网站链接域名服务器作用
  • 网站建设 gei l f网站右侧浮动窗口
  • 网站点击赚钱怎么做外国做的福利小视频在线观看网站
  • 建设银行北京市财满街分行网站wordpress自动文章排版
  • 网站搬家数据库配置购物网站seo关键词定位
  • 怎么在国际网站做推广河南艾特 网站建设公司
  • 我要看一集片做网站廉洁文化网站建设方案
  • 新公司网站怎么做推广网站建设制作公
  • 连接外国的网站吗网上书店电子商务网站建设
  • 好网站建设公司业务网站建设商虎小程序
  • 建筑做地图分析的网站惠州地区网站建设公司
  • 政协网站建设情况汇报wordpress 密码失败
  • 网站网页建设实训心得体会听书网页设计教程
  • 网站建设分享邢台网站推广多少钱
  • 莆田做网站公司自己的网站打不开了
  • 网站域名怎么用周至做网站的公司
  • 长沙flash网站制作怎么查网站的空间商