Verified CCDAK dumps Q&As - 100% Pass from ExamPrepAway [Q20-Q38]

Share

Verified CCDAK dumps Q&As - 100% Pass from ExamPrepAway

Pass CCDAK Exam in First Attempt Guaranteed 2026 Dumps!


The CCDAK exam mainly focuses on Kafka core concepts and API usage, including Kafka architecture, topics, partitions, replication, and the Kafka producer and consumer API. Kafka Connect and Kafka Streams API are two important components of the Kafka ecosystem, and candidates have to demonstrate their proficiency in these areas too. The Kafka Connect API is used for building connectors that transfer data between Kafka and other data sources, while the Kafka Streams library is used for stream processing in Kafka.

 

NEW QUESTION # 20
You have a topic t1 with six partitions. You use Kafka Connect to send data from topic t1 in your Kafka cluster to Amazon S3. Kafka Connect is configured for two tasks.
How many partitions will each task process?

  • A. 0
  • B. 1
  • C. 2
  • D. 3

Answer: C

Explanation:
When using Kafka Connect with sink connectors (like S3 Sink),each task is assigned one or more topic partitions. Thetotal number of partitions (6)isevenly distributedacross the available tasks (2). Thus, each task will handle3 partitions.
FromKafka Connect Documentation:
"Kafka Connect divides the topic partitions among available tasks. For example, a topic with six partitions and two tasks results in each task handling three partitions." Reference:Kafka Connect Concepts > Tasks and Partitions


NEW QUESTION # 21
(You have a topic with four partitions. The application reading this topic is using a consumer group with two consumers.
Throughput is smoothly distributed among partitions, but application lag is increasing.
Application monitoring shows that message processing is consuming all available CPU resources.
Which action should you take to resolve this issue?)

  • A. Add more consumers to increase the level of parallelism of the processing.
  • B. Add more partitions to the topic to increase the level of parallelism of the processing.
  • C. Decrease the max.poll.records property of consumers.
  • D. Increase the max.poll.records property of consumers.

Answer: A

Explanation:
According to the Apache Kafka consumer and scalability documentation, parallelism in message processing is primarily determined by the number of partitions and the number of consumers within a consumer group.
Each partition can be assigned to only one consumer at a time. In this scenario, the topic already has four partitions, but only two consumers are processing them, meaning only two partitions are actively consumed in parallel.
Since monitoring indicates that message processing is CPU-bound, the bottleneck is not Kafka I/O but application-side processing. Adding more consumers (up to the number of partitions) allows Kafka to rebalance the partitions and distribute them across more consumer instances, increasing CPU parallelism and reducing lag.
Option A (adding more partitions) can increase parallelism but is more intrusive and may require repartitioning considerations for keys and downstream systems. Option B increases batch size, which can worsen CPU pressure. Option D may reduce per-poll workload but does not increase parallel processing capacity.
Therefore, the correct and recommended action per Kafka documentation is to add more consumers to the consumer group.


NEW QUESTION # 22
An application is consuming messages from Kafka. You observe partitions being frequently reassigned to the consumer group from the application logs.
Which factors may be contributing to this? (Choose 2.)

  • A. There is a slow consumer processing application.
  • B. There is a storage issue on the broker.
  • C. An instance of the application is crashing and getting restarted
  • D. The number of partitions is not matching the number of application instances.

Answer: A


NEW QUESTION # 23
Which of the following Kafka Streams operators are stateful? (select all that apply)

  • A. count
  • B. aggregate
  • C. joining
  • D. peek
  • E. flatmap
  • F. reduce

Answer: A,B,C,F

Explanation:
Seehttps://kafka.apache.org/20/documentation/streams/developer-guide/dsl-api.html#stateful-transformations


NEW QUESTION # 24
The producer code below features a Callback class with a method called onCompletion().
In the onCompletion() method, when the request is completed successfully, what does the value metadata.
offset() represent?

  • A. The sequential ID of the message committed into a partition
  • B. Its position in the producer's batch of messages
  • C. The ID of the partition to which the message was committed
  • D. The number of bytes that overflowed beyond a producer batch of messages

Answer: A

Explanation:
The offset in the RecordMetadata object returned by the producer represents the position of the record in the partition - i.e., the sequential ID assigned by Kafka once the message is committed.
From Kafka Producer API Documentation:
"The offset is the position of the record in the partition. This is a unique, sequential number assigned by the broker." D refers to metadata.partition(), not offset().
B and C are unrelated to how Kafka handles committed offsets.
Reference: Kafka Producer Java API > RecordMetadata


NEW QUESTION # 25
Your streams application is reading from an input topic that has 5 partitions. You run 5 instances of your application, each with num.streams.threads set to 5. How many stream tasks will be created and how many will be active?

  • A. 25 created, 25 active
  • B. 5 created, 5 active
  • C. 25 created, 5 active
  • D. 5 created, 1 active

Answer: C

Explanation:
One partition is assigned a thread, so only 5 will be active, and 25 threads (i.e. tasks) will be created


NEW QUESTION # 26
Select the Kafka Streams joins that are always windowed joins.

  • A. KStream-KTable join
  • B. KStream-GlobalKTable
  • C. KTable-KTable join
  • D. KStream-KStream join

Answer: D

Explanation:
Seehttps://docs.confluent.io/current/streams/developer-guide/dsl-api.html#joining


NEW QUESTION # 27
Your producer is producing at a very high rate and the batches are completely full each time. How can you improve the producer throughput? (select two)

  • A. Increase batch.size
  • B. Decrease batch.size
  • C. Increase linger.ms
  • D. Enable compression
  • E. Disable compression
  • F. Decrease linger.ms

Answer: A,D

Explanation:
batch.size controls how many bytes of data to collect before sending messages to the Kafka broker. Set this as high as possible, without exceeding available memory. Enabling compression can also help make more compact batches and increase the throughput of your producer. Linger.ms will have no effect as the batches are already full


NEW QUESTION # 28
You are sending messages to a Kafka cluster in JSON format and want to add more information related to each message:
Format of the message payload
Message creation time
A globally unique identifier that allows the message to be traced through the systemWhere should this additional information be set?

  • A. Value
  • B. Key
  • C. Broker
  • D. Header

Answer: D

Explanation:
Kafka message headers are the right place to include metadata such as:
Payload format (e.g., schema version)
Timestamps (custom)
Trace or correlation IDs
From Kafka Producer API Docs:
"Headers are a map of key-value pairs that can be used to include metadata alongside the message, without modifying the message body." Keys determine partitioning and ordering Values are the message payload Brokers do not store arbitrary metadata fields Reference: Kafka ProducerRecord API > Headers


NEW QUESTION # 29
Which feature determines the maximum parallelism at which a Kafka Streams application can run?

  • A. Partitions of the input topic(s)
  • B. Configured Kafka Streams application instances
  • C. Input topics
  • D. Brokers in the Kafka cluster

Answer: A


NEW QUESTION # 30
How will you read all the messages from a topic in your KSQL query?

  • A. KSQL reads from the beginning of a topic, by default.
  • B. Use KSQL CLI to set auto.offset.reset property to earliest
  • C. KSQL reads from the end of a topic. This cannot be changed.

Answer: B

Explanation:
Consumers can set auto.offset.reset property to earliest to start consuming from beginning. For KSQL, SET 'auto.offset.reset'='earliest';


NEW QUESTION # 31
How do you create a topic named test with 3 partitions and 3 replicas using the Kafka CLI?

  • A. bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3 --topic test
  • B. bin/kafka-topics.sh --create --bootstrap-server localhost:2181 --replication-factor 3 --partitions 3 --topic test
  • C. bin/kafka-topics-create.sh --zookeeper localhost:9092 --replication-factor 3 --partitions 3 --topic test
  • D. bin/kafka-topics.sh --create --broker-list localhost:9092 --replication-factor 3 --partitions 3 --topic test

Answer: A

Explanation:
As of Kafka 2.3, the kafka-topics.sh command can take --bootstrap-server localhost:9092 as an argument. You could also use the (now deprecated) option of --zookeeper localhost:2181.


NEW QUESTION # 32
What is a consequence of increasing the number of partitions in an existing Kafka topic?

  • A. The acknowledgment process will increase latency for producers using acks=all.
  • B. Existing data will be redistributed across the new number of partitions temporarily increasing cluster load.
  • C. Consumers will need to process data from more partitions which will significantly increase consumer lag.
  • D. Records with the same key could be located in different partitions.

Answer: C

Explanation:
Increasing partitions increases parallelism, but also means:
Consumers in a group may have to handle more partitions, especially if the number of consumers is lower than the number of partitions.
This can result in increased lag, especially under high load.
From Kafka Topic Management Docs:
"Increasing the number of partitions increases consumer work, and if consumers can't keep up, lag can accumulate." A is false: existing data is not redistributed.
B is false: records with the same key always map to the same partition based on hash.
D is not directly impacted by the partition count.
Reference: Kafka Topic Management > Adding Partitions


NEW QUESTION # 33
You are using JDBC source connector to copy data from 3 tables to three Kafka topics. There is one connector created with max.tasks equal to 2 deployed on a cluster of 3 workers. How many tasks are launched?

  • A. 0
  • B. 1
  • C. 2
  • D. 3

Answer: C

Explanation:
here, we have three tables, but the max.tasks is 2, so that's the maximum number of tasks that will be created


NEW QUESTION # 34
Your application is consuming from a topic configured with a deserializer.
It needs to be resilient to badly formatted records ("poison pills"). You surround the poll() call with a try/catch for RecordDeserializationException.
You need to log the bad record, skip it, and continue processing.
Which action should you take in the catch block?

  • A. Log the bad record, no other action needed.
  • B. Throw a runtime exception to trigger a restart of the application.
  • C. Log the bad record and call the consumer.skip() method.
  • D. Log the bad record and seek the consumer to the offset of the next record.

Answer: D

Explanation:
To skip a corrupted record and avoid failing the application, you mustseek past the failed offsetmanually using consumer.seek(). This allows the application to resume consumption from the next offset.
FromKafka Consumer Error Handling Docs:
"On deserialization failure, you can catch RecordDeserializationException, log the error, and call seek() to the next offset to skip the bad record."
* A does not prevent re-processing the bad record.
* C is invalid; there'sno skip() methodin the Kafka consumer API.
* D results in service interruption - not ideal for resiliency.
Reference:Kafka Consumer API - Exception Handling and seek()


NEW QUESTION # 35
What exceptions may be caught by the following producer? (select two)
ProducerRecord<String, String> record =
new ProducerRecord<>("topic1", "key1", "value1");
try {
producer.send(record);
} catch (Exception e) {
e.printStackTrace();
}

  • A. InvalidPartitionsException
  • B. SerializationException
  • C. BufferExhaustedException
  • D. BrokerNotAvailableException

Answer: B,C

Explanation:
These are the client side exceptions that may be encountered before message is sent to the broker, and before a future is returned by the .send() method.


NEW QUESTION # 36
Your company has three Kafka clusters: Development, Testing, and Production.
The Production cluster is running out of storage, so you add a new node.
Which two statements about the new node are true?
(Select two.)

  • A. A node ID will be assigned to the new node automatically.
  • B. A new node can be added without stopping existing cluster nodes.
  • C. A newly added node will have KRaft controller role by default.
  • D. A new node will not have any partitions assigned to it unless a new topic is created or reassignment occurs.

Answer: B,D

Explanation:
* C is true: When a new broker is added,no partitions are assigned to itunless you create new topics or reassign existing onesusing kafka-reassign-partitions.sh.
* D is true: Kafka brokers arehot-pluggable; no need to stop the cluster when scaling.
FromKafka Operations Guide:
"A newly added broker won't be assigned partitions until reassignments or new topic creation."
"Kafka allows dynamic scaling by adding brokers without downtime."
* A is false: Broker IDs must bemanually setunless using dynamic broker registration in KRaft mode.
* B is false unless the cluster usesKRaft modeand the broker isspecifically assigneda controller role.
Reference:Kafka Operations > Adding Brokers


NEW QUESTION # 37
Match each configuration parameter with the correct option.
To answer choose a match for each option from the drop-down. Partial
credit is given for each correct answer.

Answer:

Explanation:

Explanation:
Correct Matches
* path.format#Only valid for some Source Connectors
* value.converter#Valid for all Source Connectors
* input.path#Only valid for some Source Connectors
* errors.retry.timeout#Valid for all Source Connectors
* tasks.max#Valid for all Source Connectors
* path.formatThis is a connector-specific configuration, commonly used by file-based or storage-based source connectors (for example, HDFS, S3, or FilePulse connectors). It isnot part of the Kafka Connect framework itself, so it is only valid for some source connectors.
* value.converterThis is aworker-level configurationthat defines how record values are converted (JSON, Avro, Protobuf, etc.). It applies toall connectorsrunning on the worker unless overridden at the connector level.
* input.pathThis configuration is specific to file-based source connectors (e.g., FileStreamSourceConnector). It isnot universally supported, so it is only valid for some source connectors.
* errors.retry.timeoutThis is part of Kafka Connect'serror handling framework, introduced to support retries and tolerance of transient errors. It is ageneric Connect configurationand valid for all connectors.
* tasks.maxThis is amandatory, generic connector configurationthat controls the maximum number of tasks a connector may create. It is valid forall source (and sink) connectors.


NEW QUESTION # 38
......

CCDAK Dumps Full Questions - Exam Study Guide: https://ucertify.examprepaway.com/Confluent/braindumps.CCDAK.ete.file.html