Flink流连接器之Kafka【三】【事件时间与水印、分区计划、容错、Kerberos身份验证】

一.Kafka使用者和时间戳提取/水印发射

在许多情况下,记录的时间戳(显式或隐式地)嵌入到记录本身。另外,用户可能希望例如基于包含当前事件时间水印的Kafka流中的特殊记录,周期性地或以不规则的方式发出水印。对于这些情况,Flink Kafka Consumer允许指定一个AssignerWithPeriodicWatermarks或一个AssignerWithPunctuatedWatermarks。

可以按此处所述指定自定义的时间戳提取器/水印发射器,或使用预定义的提取器/水印发射器 。这样做之后,可以通过以下方式将其传递给消费者:

	val properties = new Properties()
    properties.setProperty("bootstrap.servers" , "master:9092,slave01:9092,slave02:9092")
    properties.setProperty("group.id" , "spark")
    properties.setProperty("enable.auto.commit" , "true")
    properties.setProperty("auto.commit.interval.ms" ,"5000")

    /**
      * 配置下次重新消费的话,从哪里开始消费:
      * latest:从上一次提交的offset位置开始的
      * earlist:从头开始进行(重复消费数据)
      */
    properties.setProperty("auto.offset.reset" , "latest")
    // 配置序列化和反序列化
    properties.setProperty("key.deserializer" , "org.apache.kafka.common.serialization.StringDeserializer")
    properties.setProperty("value.deserializer" , "org.apache.kafka.common.serialization.StringDeserializer")

    //获取数据源 kafka
    val consumer : FlinkKafkaConsumer09[String] = new FlinkKafka
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值