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

哪个做砍价活动的网站好搭建网站的步骤

哪个做砍价活动的网站好,搭建网站的步骤,网络营销官网,wordpress前段编辑器Yarn的部署过程 Yarn上部署的过程是:客户端把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会向Yarn的NodeManager申请容器,在这些容器上,Flink会部署JobManager和TaskManager的实例,从而启动集群,Flin…

 Yarn的部署过程

        Yarn上部署的过程是:客户端把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会向Yarn的NodeManager申请容器,在这些容器上,Flink会部署JobManager和TaskManager的实例,从而启动集群,Flink会根据运行在JobManager上的作业所需要的Slot数量动态分配TaskManager资源。

Flink抽象作业提交流程

  1. 一般情况下,由客户端(App)通过分发器提供的REST接口,将作业提交给JobManager;
  2. 由分发器启动JobMaster,并将作业(包含JobGraph)提交给JobMaster;
  3. JobMaster将JobMaster解析为可执行的ExecutionGraph,得到所需的资源数量,然后向资源管理器请求资源(slots)
  4. 资源管理器判断当前是否由足够的可用资源,如果没有,启动新的TaskManager;
  5. TaskManager启动后,向ResouceManager注册自己的可用任务槽(slots);
  6. TaskManager连接到对应的JobMaster,提供slots
  7. JobMaster将需要执行的任务分发给TaskManager
  8. TaskManager执行任务,互相之间交换数据

数据流图

        所有的Flink程序都可以归纳为三部分构成:Source、Transformation和Sink

        Source表示“源算子”,负责读取数据源

        Transformation表示“转换算子”,利用各种算子进行处理加工

        Sink表示“下沉算子”,负责数据的输出

Flink任务执行图

        按照生成数据可以分为四层:

        逻辑流图(StreamGraph)->作业图(JobGraph)->执行图(ExecutionGraph)->物理图(Physical Graph)

水位线

        用来衡量事件时间进展的标记,就被称为“水位线”

自定义水位线代码

周期性生成水位线

import com.shirun.bean.Event;
import org.apache.flink.api.common.eventtime.*;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;// 自定义水位线的产生
public class CustomPeriodicWatermarkExample {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.addSource(new ClickSource()).assignTimestampsAndWatermarks(new CustomWatermarkStrategy()).print();env.execute();}public static class CustomWatermarkStrategy implements WatermarkStrategy<Event> {@Overridepublic TimestampAssigner<Event> createTimestampAssigner(TimestampAssignerSupplier.Context context) {return new SerializableTimestampAssigner<Event>() {@Overridepublic long extractTimestamp(Event element, long recordTimestamp) {return element.timestamp; // 告诉程序数据源里的时间戳是哪一个字段}};}@Overridepublic WatermarkGenerator<Event> createWatermarkGenerator(WatermarkGeneratorSupplier.Context context) {return new CustomBoundedOutOfOrdernessGenerator();}}public static class CustomBoundedOutOfOrdernessGenerator implements WatermarkGenerator<Event> {private Long delayTime = 5000L; // 延迟时间private Long maxTs = -Long.MAX_VALUE + delayTime + 1L; // 观察到的最大时间戳@Overridepublic void onEvent(Event event, long eventTimestamp, WatermarkOutput output) {// 每来一条数据就调用一次maxTs = Math.max(event.timestamp, maxTs); // 更新最大时间戳}@Overridepublic void onPeriodicEmit(WatermarkOutput output) {// 发射水位线,默认200ms调用一次output.emitWatermark(new Watermark(maxTs - delayTime - 1L));}}
}

断点式水位线生成器        

public class PunctuatedGenerator implements WatermarkGenerator<Event> {@Overridepublic void onEvent(Event r, long eventTimestamp, WatermarkOutput output) {// 只有在遇到特定的itemId时,才发出水位线if (r.user.equals("Mary")) {output.emitWatermark(new Watermark(r.timestamp - 1));}}@Overridepublic void onPeriodicEmit(WatermarkOutput output) {// 不需要做任何事情,因为我们在onEvent方法中发射了水位线}
}

自定义数据源发送水位线

import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.functions.source.SourceFunction;
import org.apache.flink.streaming.api.watermark.Watermark;import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Random;public class EmitWatermarkInSourceFunction {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();env.addSource(new ClickSource()).print();env.execute();}// 泛型是数据源中的类型public static class ClickSource implements SourceFunction<Event> {private boolean running = true;@Overridepublic void run(SourceContext<Event> sourceContext) throws Exception {Random random = new Random();String[] userArr = {"Mary", "Bob", "Alice"};String[] urlArr  = {"./home", "./cart", "./prod?id=1"};while (running) {long currTs = Calendar.getInstance().getTimeInMillis(); // 毫秒时间戳String username = userArr[random.nextInt(userArr.length)];String url      = urlArr[random.nextInt(urlArr.length)];Event event = new Event(username, url, currTs);// 使用collectWithTimestamp方法将数据发送出去,并指明数据中的时间戳的字段sourceContext.collectWithTimestamp(event, event.timestamp);// 发送水位线sourceContext.emitWatermark(new Watermark(event.timestamp - 1L));Thread.sleep(1000L);}}@Overridepublic void cancel() {running = false;}}
}

http://www.dtcms.com/wzjs/512312.html

相关文章:

  • 建电子商务网站多少钱网站策划书模板
  • 什么样的网站可以做外链象山seo外包服务优化
  • 广州五屏网站建设竞价推广出价多少合适
  • 上海网站开发一对一培训价格合肥seo管理
  • 咋做黄页网站温州网站建设开发
  • 抓取网站访客qq号码seo是啥
  • 网站备案拍照背景图企业员工培训课程
  • 怎么做视频网站美橙互联建站
  • 游戏ui设计最好的培训机构seo sem是什么职位
  • 企业信息管理系统的组成不包括东莞网站seo优化托管
  • 苹果手机做电影网站有哪些浙江网站建设推广
  • 网站建设与开发论文百度推广开户2400
  • 免费的企业建站系统百度关键词优化有效果吗
  • 网站建设维护工作关键词搜索挖掘爱网站
  • 怎么做简单的网站首页网站优化设计的基础是网站基本要素及每个细节的优化
  • 网站怎么开通微信支付百度推广优化工具
  • 代做网站的公司北京朝阳区
  • 增城微信网站建设自助建站网站模板
  • 票务网站开发端口小程序如何推广运营
  • 域名解析好了怎么做网站找培训机构的app
  • 郑州网站建设的软件优化公司结构
  • 专业制作网站 上海网络服务商怎么咨询
  • 金华电子商务网站建设互联网平台公司有哪些
  • 网站建设专业团队图片深圳搜索引擎
  • 制作网站对话框申请百度收录网址
  • 网站建设前期资料提供北京网络营销策划公司
  • 网站开发的初级技术员最新新闻
  • 建设银行官网首页 网站免费创建个人网站
  • 长沙企业建网站识图找图
  • 试玩网站怎么做产品软文