KafkaStreamer简单使用

方便和我一样的萌新,省去翻文档的时间
下面是官方文档的示例

KafkaStreamer<String, String> kafkaStreamer = new KafkaStreamer<>();
IgniteDataStreamer<String, String> stmr = ignite.dataStreamer("myCache"));

// allow overwriting cache data
stmr.allowOverwrite(true);

kafkaStreamer.setIgnite(ignite);//ignite客户端配置参考官方文档
kafkaStreamer.setStreamer(stmr);

// set the topic
kafkaStreamer.setTopic(someKafkaTopic);//见下

// set the number of threads to process Kafka streams
kafkaStreamer.setThreads(4);

// set Kafka consumer configurations
kafkaStreamer.setConsumerConfig(kafkaConsumerConfig);//参考kafka官方文档配置,和Consumer配置一样的

// set extractor
kafkaStreamer.setSingleTupleExtractor(strExtractor);//见下

kafkaStreamer.start();

...

// stop on shutdown
kafkaStreamer.stop();

strm.close();

对示例里函数用法的补充

  • kafkaStreamer.setTopic(someKafkaTopic);

    kafkaStreamer.setTopic(Arrays.asList("topic1","topic2"));

  • kafkaStreamer.setSingleTupleExtractor(strExtractor);

    kafkaStreamer.setSingleTupleExtractor(new StreamSingleTupleExtractor<ConsumerRecord, String, Integer>() {
    
        @Override
        public Map.Entry<String, Integer> extract(ConsumerRecord record) {
            
            //写自己的数据转换        
            String key=.....
            Int val=...
    
            return new IgniteBiTuple<>(key, val);
        }
    });
    
    
  • stmr.flush()

    接收到的数据不会自动加入cache,此函数在不关闭stmr的情况下加入数据到cache。如果使用stmr.close(),会在关闭之前加入剩余的数据

相关参考

数据流处理 | Apache Ignite技术服务 (ignite-service.cn)

Kafka流处理器 | Apache Ignite技术服务 (ignite-service.cn)

Interface IgniteDataStreamer<K,V>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值