flink的Watermark 1.12版本的实现方式

watermark以前的实现方式

  1. 首先需要指定时间为eventTime

    env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
    
  2. 使用BoundedOutOfOrdernessTimestampExtractor类来生成watermark

    // 转换成SensorReading类型,分配时间戳和watermark
    DataStream<SensorReading> dataStream = inputStream.map(line -> {
         
      String[] fields = line.split(",");
      return new SensorReading(fields[0], new Long(fields[1]
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用Docker部署Apache Flink 1.12的示例。 1. 首先,您需要安装Docker和Docker Compose。如果您没有安装,请参阅官方文档以获取说明。 2. 创建一个名为“flink”的新文件夹。 3. 在“flink”文件夹中创建一个名为“docker-compose.yml”的新文件,并添加以下内容: ``` version: "3.8" services: jobmanager: image: flink:1.12 expose: - "8081" command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager taskmanager: image: flink:1.12 depends_on: - jobmanager command: taskmanager environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager ``` 该文件定义了两个服务:jobmanager和taskmanager。jobmanager是Flink作业管理器,taskmanager是Flink任务管理器。jobmanager暴露了端口8081,以便您可以通过Web界面查看Flink集群的状态。 4. 运行以下命令来启动Flink集群: ``` docker-compose up -d ``` 该命令会启动两个Docker容器,一个作为jobmanager,另一个作为taskmanager。 5. 在浏览器中打开以下网址,以查看Flink Web界面: ``` http://localhost:8081 ``` 您应该能够看到Flink集群的状态。 6. 现在,您可以将您的Flink作业提交到集群中。您可以使用以下命令来提交一个简单的WordCount作业: ``` docker run --rm -t flink:1.12 \ ./bin/flink run ./examples/batch/WordCount.jar \ --input file:///opt/flink/README.txt \ --output file:///opt/flink/wordcount-result.txt ``` 该命令会在一个新的Docker容器中运行WordCount作业,并将输入文件读取为本地文件系统中的文件,将输出写入到本地文件系统中的文件中。 7. 您可以使用以下命令来查看输出文件中的结果: ``` docker run --rm -it flink:1.12 cat /opt/flink/wordcount-result.txt ``` 该命令将输出WordCount作业的结果。 以上是一个使用Docker部署Apache Flink 1.12的示例。请注意,您可能需要根据您的具体情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值