案例一:利用Kafka流实现对输入数字的求和
一、Kafka Java代码
public class SumStream {
public static void main( String [ ] args) {
Properties prop = new Properties( ) ;
prop. put( StreamsConfig. APPLICATION_ID_CONFIG, "sumstream" ) ;
prop. put( StreamsConfig. BOOTSTRAP_SERVERS_CONFIG, "192.168.247.201:9092" ) ;
prop. put( StreamsConfig. COMMIT_INTERVAL_MS_CONFIG, 3000 ) ;
prop. put( ConsumerConfig. AUTO_OFFSET_RESET_DOC, "earliest" ) ;
prop. put( ConsumerConfig. ENABLE_AUTO_COMMIT_CONFIG, "false" ) ;
prop. put( StreamsConfig. DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes. String ( ) . getClass( ) ) ;
prop. put( StreamsConfig. DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes. String ( ) . getClass( ) ) ;
StreamsBuilder builder = new StreamsBuilder( ) ;
KStream< Object, Object> source = builder. stream( "suminput" ) ;
source. map( ( key, value) - >
new KeyValue< String, String> ( "sum: " , value. toString( ) )
) . groupByKey( ) . reduce( ( x, y) - > {
System. out