ARA-R01 practice question 6 of 10

What does a Snowflake Architect need to consider when implementing a Snowflake Connector for Kafka?

Full set: 162 questions

Domain Implementing and Deploying a Solution

Answer options
A: Every Kafka message is in JSON or Avro format.
B: The default retention time for Kafka topics is 14 days.
C: The Kafka connector supports key pair authentication, OAUTH. and basic authentication (for example, username and password).
D: The Kafka connector will create one table and one pipe to ingest data for each topic. If the connector cannot create the table or the pipe it will result in an exception. Correct answer
Correct Answer:
D. The Kafka connector will create one table and one pipe to ingest data for each topic. If the connector cannot create the table or the pipe it will result in an exception.
Explanation

When implementing the Snowflake Connector for Kafka, an architect must understand its core operational model. The connector maps each Kafka topic to a specific Snowflake table. To facilitate ingestion, for each topic, the connector automatically creates one internal stage and one pipe. The role assigned to the connector requires the necessary privileges (e.g., CREATE TABLE, CREATE STAGE, CREATE PIPE) on the target schema. If these permissions are insufficient, the connector will fail to create these essential objects, resulting in an exception and preventing data ingestion. This is a critical setup consideration.

Why Incorrect

A. The connector is optimized for JSON and Avro using specific converters, but it can ingest other data formats by wrapping the raw message content within a JSON structure. Therefore, not every message must be in JSON or Avro format.
B. The retention time for topics is a standard Apache Kafka server configuration, not a specific consideration for the Snowflake Connector. Furthermore, the default retention period in Kafka is typically 7 days, not 14.
C. The Snowflake Connector for Kafka primarily uses key pair authentication. While basic authentication was supported, it is deprecated. The connector does not support OAuth for its connection to Snowflake.

References

1. Snowflake Documentation: Overview of the Kafka connector

Section: "Topic to Table Mapping"

Content: "For each topic, the Kafka connector creates the following objects: One internal stage... One pipe... One table... The Kafka connector requires a Snowflake role with the necessary privileges to create these objects." This directly supports answer D.

2. Snowflake Documentation: Installing and Configuring the Kafka Connector

Section: "Step 4: Configure and Run the Kafka Connector" -> "Configuration Properties"

Content: The documentation details the snowflake.private.key and snowflake.private.key.passphrase properties for key pair authentication. It makes no mention of OAuth as a supported authentication method for the connector itself, which invalidates option C.

3. Snowflake Documentation: Preparing the Kafka messages for ingestion

Section: "Supported Formats"

Content: "The Kafka connector supports ingesting records in JSON and Avro format." It describes how the SnowflakeJsonConverter and SnowflakeAvroConverter are used. While these are the primary formats, the connector ingests a record with two VARIANT columns: RECORDCONTENT and RECORDMETADATA. The raw message goes into RECORDCONTENT, which means other formats can be ingested, though they may require downstream processing. This makes the absolute statement in option A incorrect.

Scroll to Top