Bird
Raised Fist0
Kafkadevops~5 mins

Filter and map operations in Kafka - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the filter operation do in Kafka Streams?
The filter operation keeps only the records that match a given condition, removing all others from the stream.
Click to reveal answer
beginner
What is the purpose of the map operation in Kafka Streams?
The map operation transforms each record in the stream by applying a function to change its key and/or value.
Click to reveal answer
intermediate
How do filter and map operations work together in a Kafka Streams pipeline?
First, filter removes unwanted records, then map changes the remaining records to a new form for further processing.
Click to reveal answer
beginner
In Kafka Streams, what type of function do you pass to the filter method?
You pass a predicate function that returns true for records to keep and false for records to discard.
Click to reveal answer
beginner
What does the map function return for each record in Kafka Streams?
It returns a new key-value pair, which can be different from the original record's key and value.
Click to reveal answer
What does the filter operation do in Kafka Streams?
AKeeps records that meet a condition
BChanges the key and value of records
CJoins two streams
DSaves records to a database
What does the map operation do in Kafka Streams?
ADeletes records from the stream
BFilters records based on a condition
CTransforms each record's key and value
DSplits the stream into two
Which function type is passed to filter in Kafka Streams?
AA function that joins streams
BA function returning a boolean
CA function returning a new key-value pair
DA function that writes to a topic
What happens if a record does not pass the filter condition?
AIt is kept in the stream
BIt is sent to a different topic
CIt is transformed by map
DIt is removed from the stream
In Kafka Streams, what is the output of the map operation?
AA stream with transformed records
BA filtered stream
CA joined stream
DA saved state store
Explain how you would use filter and map operations together in a Kafka Streams application.
Think about cleaning data first, then changing it.
You got /3 concepts.
    Describe the type of function you pass to the filter operation and what it returns.
    It's like a yes/no question for each record.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the filter operation do in Kafka Streams?
      easy
      A. Deletes all messages in the stream
      B. Changes messages to a new form
      C. Keeps only messages that meet a condition
      D. Sends messages to a different topic

      Solution

      1. Step 1: Understand filter purpose

        The filter operation selects messages that satisfy a given condition, removing others.
      2. Step 2: Compare with other operations

        Unlike map, which changes message content, filter only keeps or drops messages.
      3. Final Answer:

        Keeps only messages that meet a condition -> Option C
      4. Quick Check:

        Filter = Keep messages by condition [OK]
      Hint: Filter keeps or drops messages based on a rule [OK]
      Common Mistakes:
      • Confusing filter with map operation
      • Thinking filter changes message content
      • Assuming filter deletes all messages
      2. Which of the following is the correct syntax to apply a map operation on a Kafka stream named stream to convert messages to uppercase?
      easy
      A. stream.map(value.toUpperCase)
      B. stream.filter(value -> value.toUpperCase())
      C. stream.map(value => value.toUpperCase())
      D. stream.map(value -> value.toUpperCase())

      Solution

      1. Step 1: Identify correct lambda syntax in Kafka Streams

        Kafka Streams in Java uses map(value -> ...) syntax for mapping values.
      2. Step 2: Check method call correctness

        value.toUpperCase() correctly converts string to uppercase.
      3. Final Answer:

        stream.map(value -> value.toUpperCase()) -> Option D
      4. Quick Check:

        Correct lambda and method call = stream.map(value -> value.toUpperCase()) [OK]
      Hint: Use arrow -> for lambda in Kafka Streams Java [OK]
      Common Mistakes:
      • Using filter instead of map
      • Using JavaScript arrow => instead of Java ->
      • Missing parentheses in method call
      3. Given the following Kafka Streams code, what will be the output messages after processing?
      stream.filter(value -> value.length() > 3)
            .map(value -> value.substring(0, 3))

      Input messages: ["apple", "cat", "banana", "dog"]
      medium
      A. ["cat", "dog"]
      B. ["app", "ban"]
      C. ["apple", "banana"]
      D. ["app", "cat", "ban", "dog"]

      Solution

      1. Step 1: Apply filter condition

        Keep messages with length > 3: "apple" (5), "banana" (6). "cat" and "dog" are dropped.
      2. Step 2: Apply map operation

        Take first 3 characters: "apple" -> "app", "banana" -> "ban".
      3. Final Answer:

        ["app", "ban"] -> Option B
      4. Quick Check:

        Filter then map = ["app", "ban"] [OK]
      Hint: Filter first, then map to transform filtered messages [OK]
      Common Mistakes:
      • Not filtering before mapping
      • Mapping before filtering
      • Including messages with length ≤ 3
      4. Identify the error in this Kafka Streams code snippet:
      stream.filter(value -> value.startsWith("a"))
            .map(value -> value.toUpperCase())
            .filter(value -> value.length() > 5)
      medium
      A. No error; code is correct
      B. Using two filter operations is not allowed
      C. The second filter uses the mapped uppercase value correctly
      D. The lambda syntax is incorrect

      Solution

      1. Step 1: Check filter and map chaining

        Chaining multiple filters and maps is allowed in Kafka Streams.
      2. Step 2: Verify lambda syntax and logic

        Lambdas use correct syntax and logic: first filter checks start, map uppercases, second filter checks length.
      3. Final Answer:

        No error; code is correct -> Option A
      4. Quick Check:

        Multiple filters and maps allowed = No error; code is correct [OK]
      Hint: Multiple filters and maps can be chained without error [OK]
      Common Mistakes:
      • Thinking multiple filters are disallowed
      • Confusing lambda syntax with other languages
      • Assuming map changes variable type incorrectly
      5. You want to process a Kafka stream of user names to keep only those starting with 'J' and convert them to lowercase. Which code snippet correctly does this?
      hard
      A. stream.filter(name -> name.startsWith("J")) .map(name -> name.toLowerCase())
      B. stream.map(name -> name.toLowerCase()) .filter(name -> name.startsWith("J"))
      C. stream.filter(name -> name.toLowerCase().startsWith("j")) .map(name -> name.toUpperCase())
      D. stream.map(name -> name.startsWith("J")) .filter(name -> name.toLowerCase())

      Solution

      1. Step 1: Filter names starting with 'J'

        Use filter(name -> name.startsWith("J")) to keep only names starting with uppercase 'J'.
      2. Step 2: Map filtered names to lowercase

        Apply map(name -> name.toLowerCase()) to convert names to lowercase.
      3. Final Answer:

        stream.filter(name -> name.startsWith("J")) .map(name -> name.toLowerCase()) -> Option A
      4. Quick Check:

        Filter first, then map to lowercase [OK]
      Hint: Filter first by condition, then map to transform [OK]
      Common Mistakes:
      • Mapping before filtering causing wrong results
      • Using incorrect lambda syntax
      • Filtering after changing case causing misses
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard