开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

怎么控制flink 流任务的开始时间呢

怎么控制flink 流任务的开始时间呢

展开
收起
游客3oewgrzrf6o5c 2022-07-08 17:04:45 255 0
1 条回答
写回答
取消 提交回答
  • 十分耕耘,一定会有一分收获!

    楼主你好,可以通过设置flink流任务的启动时间来控制任务的开始时间。具体可以参考以下步骤:

    1. 在flink任务的代码中,使用env.getExecutionEnvironment().setStreamTimeCharacteristic(TimeCharacteristic.EventTime)来定义时间特性为事件时间。

    2. 然后,在任务代码中增加一个调用env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)的函数,在函数中设置任务的启动时间。例如:

      env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
      env.getConfig.setGlobalJobParameters(params);
      env.execute("Flink Streaming");
      

      其中,params为任务的参数,可以在启动任务时传入。

    3. 在提交flink任务时,可以通过增加--jobmanager.execution.start-time参数来指定任务的启动时间。例如:

      ./bin/flink run -m yarn-cluster -yn 4 -ys 4 -yjm 2048 -ytm 2048 -p 16 \ 
      --jobmanager.execution.start-time 2022-01-01T00:00:00Z \
      -c com.example.flink.MyFlinkJob /path/to/flink-job.jar
      

      上述命令将在2022年1月1日零点启动任务。

    需要注意的是,当前版本的flink仅支持在yarn-cluster模式下使用--jobmanager.execution.start-time参数来指定任务的启动时间。而在standalone模式下,flink暂时不支持直接设置任务启动时间。

    2023-08-18 11:19:07
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载