Filter a Kafka stream
20 mins
This consumer will read a KafkaStream and extract only action=clicked
events.
File : src/main/java/x/lab07_streams/StreamsConsumer3_Filter.java
Inspect the file and fix the TODO items.
Run the lab07_streams/StreamsConsumer3_Filter
in Eclipse
Run the utils.ClickStreamProducer
in Eclipse
Expected output below.
Notice KStream-filtered-CLICKED
will only have 'action=clicked' events.
[INFO ] 2018-07-22 14:20:38.542 [main] StreamsConsumer3_Filter:main(53) - kstreams starting on clickstream
[KSTREAM-FILTER-0000000001]: facebook.com, {"timestamp":1451635200005,"session":"session_251","domain":"facebook.com","cost":91,"user":"user_16","campaign":"campaign_5","ip":"ip_67","action":"clicked"}
[KSTREAM-FILTER-0000000001]: google.com, {"timestamp":1451635200025,"session":"session_29","domain":"google.com","cost":16,"user":"user_1","campaign":"campaign_5","ip":"ip_74","action":"clicked"}
[KSTREAM-FILTER-0000000001]: twitter.com, {"timestamp":1451635200040,"session":"session_259","domain":"twitter.com","cost":8,"user":"user_1","campaign":"campaign_7","ip":"ip_60","action":"clicked"}
[KSTREAM-FILTER-0000000001]: google.com, {"timestamp":1451635200050,"session":"session_89","domain":"google.com","cost":77,"user":"user_55","campaign":"campaign_5","ip":"ip_12","action":"clicked"}
[KSTREAM-FILTER-0000000001]: npr.org, {"timestamp":1451635200035,"session":"session_72","domain":"npr.org","cost":85,"user":"user_40","campaign":"campaign_2","ip":"ip_16","action":"clicked"}
[KSTREAM-FILTER-0000000001]: foxnews.com, {"timestamp":1451635200045,"session":"session_53","domain":"foxnews.com","cost":46,"user":"user_26","campaign":"campaign_6","ip":"ip_58","action":"clicked"}