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

家具网站建设公司营销策略

家具网站建设公司,营销策略,sns社交网站开发,wordpress同步qq微博在Flink中状态主要分为三种: Operator State(算子状态)Keyed State(键控状态)Broadcast State(广播状态) 这里简单介绍一下Operator State的使用,说到使用State就必然要使用到Flink的容错机制也就是Checkpoint.具体内容见代码注解 数据源 这里选用Socket作为Source输入,便于…

在Flink中状态主要分为三种:

  • Operator State(算子状态)
  • Keyed State(键控状态)
  • Broadcast State(广播状态)

这里简单介绍一下Operator State的使用,说到使用State就必然要使用到Flink的容错机制也就是Checkpoint.具体内容见代码注解

  • 数据源
    这里选用Socket作为Source输入,便于测试
    ➜  ~ nc -lk 8888
    a
    b
    c
    k
    k
    k
    
  • 状态算子代码
    /**
    * @Description TODO 自定义状态MapFunc
    **/
    // 状态算子必须要实现对应的算子接口和CheckpointFunction接口
    class StateMapFunc implements MapFunction<String, String>, CheckpointedFunction{private ListState<String> strListState;/*** @Param o* @return String* @Description TODO map方法的正常处理逻辑**/@Overridepublic String map(String s) throws Exception {// 模拟Task失败if (s.equals("k") && RandomUtils.nextInt(0, 5) == 3) {throw new Exception("Task 异常");}// 将数据添加到状态存储器中strListState.add(s);Iterable<String> strings = strListState.get();StringBuilder builder = new StringBuilder();for (String string : strings) {builder.append(string);}return builder.toString();}/*** @Param functionSnapshotContext* @return void* @Description TODO 系统对状态数据做快照(持久化)会调用此方法, 用户使用此方法在持久化前对状态数据可以做一些操控**/@Overridepublic void snapshotState(FunctionSnapshotContext functionSnapshotContext) throws Exception {System.out.println("快照生成, checkpointId: " + functionSnapshotContext.getCheckpointId());}/*** @Param functionInitializationContext* @return void* @Description TODO 算子任务在启动前会调用此方法,未用户状态数据进行初始化**/@Overridepublic void initializeState(FunctionInitializationContext functionInitializationContext) throws Exception {// 获取算子状态存储器OperatorStateStore operatorStateStore = functionInitializationContext.getOperatorStateStore();/*** ListStateDescriptor状态描述* 参数1:一个自定义名称* 参数2:存储的数据类型**/ListStateDescriptor<String> stateDescriptor = new ListStateDescriptor<>("demo", String.class);/*** 算子状态存储器, 只提供ListSate的形式(和Java中的List不是一回事)来存储状态数据* getListSate方法,会在Task失败后,task自动重启时,会帮助用户加载最近一次的快照数据,如果是job重启则不会加载**/strListState = operatorStateStore.getListState(stateDescriptor);}
    }
    
    要注意代码注释中的内容,getListState只作用于Task的自动重启,如果是整个Job重启时不生效的,如果是想Job重启后从重启前的State获取数据需要在Job提交时就指定checkpoint镜像文件.
  • 业务代码
      public class FlinkOperatorState {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();// 设置并行度1env.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);// 将自定义的StateOperator传入SingleOutputStreamOperator<String> map = socketSource.map(new StateMapFunc());// 打印结果map.print();env.execute("Operator State");}
    }
    

具体的代码模板和API的介绍大概就这些内容,具体实践要根据业务逻辑而定.

http://www.yidumall.com/news/58771.html

相关文章:

  • 网站建设哪家服务态度好seo排名优化联系13火星软件
  • 个人建站的app哪里有卖网页设计模板网站免费
  • 服装网站建设策划书seo网站优化培训班
  • 做胃肠科医院网站费用网络营销推广策划案例
  • 咨询公司成本费用包括哪些内容seo外链专员工作要求
  • 什么公司网站建设做的好小广告
  • 云梦做网站的优势网站创建公司
  • 南京市公共建设中心网站站长之家查询
  • 微网站如何做宣传新闻20条摘抄大全
  • 做门户网站用什么服务器百度网盘官方网站
  • 官网和门户网站的区别合肥网站维护公司
  • 动漫制作专业零基础宁波seo快速优化课程
  • iis7 默认网站目录百度外链查询工具
  • 宁波p2p网站建设网站出租三级域名费用
  • 建设银行信用卡网站是多少钱seo站长网
  • 做营销网站建设价格可以全部免费观看的软件
  • 有哪些好的印花图案设计网站广州网站推广运营
  • 网站建设经典语录网络营销的优势有哪些
  • 直销可以做网站有效果吗营销团队外包
  • 广州公司注册地址迁址网上办理百度推广seo优化
  • 中国建设银行客户端下载官方网站廊坊seo网站管理
  • 北京 工业网站建设公司排名微信广告投放推广平台多少费用
  • 办公空间设计概念广告优化师培训
  • 帮人家做网站维护长沙公司网络营销推广
  • 微信小程序做直播网站宁波seo行者seo09
  • 上海网站建设 网站开发郑州网站建设推广有限公司
  • 专业旅游网站建设快速seo整站优化排行
  • 世界排名前十的服装设计学院杭州网站seo公司
  • html5手机网站织梦模板武汉网站排名提升
  • 做网站安全的公司有哪些山东大学经济研究院