ARA-C01 Question 288
Select 2Iceberg tables (managed and unmanaged)A data platform team is standardizing on Apache Iceberg for a shared lakehouse. They have two requirements: (1) a finance dataset must remain writable by Spark jobs outside Snowflake, with metadata changes managed by an external Iceberg catalog; and (2) a customer analytics dataset should be optimized and maintained entirely by Snowflake to reduce operational overhead. The architect wants to choose the correct Snowflake table types for each dataset and avoid unsupported assumptions about maintenance and write behavior. Which TWO actions should the architect take?
- A
Create the finance dataset as an unmanaged Iceberg table in Snowflake, integrated with the external catalog, so Snowflake can query it while Spark continues to manage writes and metadata.
- B
Create the customer analytics dataset as a Snowflake-managed Iceberg table so Snowflake manages the table lifecycle and metadata for the Iceberg table.
- C
Use Snowflake-managed Iceberg tables for both datasets because Snowflake-managed Iceberg tables are designed for concurrent writes from Spark and Snowflake against the same table metadata.
- D
Convert the finance dataset to a standard native Snowflake table because unmanaged Iceberg tables cannot be queried from Snowflake.
- E
Use unmanaged Iceberg tables for both datasets because Snowflake-managed Iceberg tables require the data files to be stored only inside Snowflake internal storage and cannot use object storage.
Show answer and explanation
Correct answers: A, B
Explanation
The scenario separates two distinct Iceberg operating models. When another engine such as Spark must continue writing the table and managing Iceberg metadata through an external catalog, the correct choice is an unmanaged Iceberg table in Snowflake. This lets Snowflake query the table without taking ownership of metadata commits. When the goal is to minimize administration and let Snowflake manage the Iceberg table lifecycle and metadata, the correct choice is a Snowflake-managed Iceberg table. Architects should avoid assuming that Snowflake-managed Iceberg tables are the right fit for externally managed concurrent write scenarios. This aligns with Snowflake guidance distinguishing externally managed or unmanaged Iceberg tables from Snowflake-managed Iceberg tables based on who owns metadata management and operational responsibility.
- A. Correct.
Correct. Unmanaged Iceberg tables are appropriate when the data and Iceberg metadata are managed outside Snowflake, such as by Spark with an external Iceberg catalog. In this model, Snowflake can query the table while external engines continue to own writes and metadata commits. This matches the requirement that Spark remain the writer and that metadata changes be controlled externally.
- B. Correct.
Correct. Snowflake-managed Iceberg tables are intended for scenarios where Snowflake should manage the Iceberg table lifecycle and metadata, reducing administrative overhead. This is the best fit for the customer analytics dataset because the requirement is for Snowflake to optimize and maintain the dataset end to end.
- C. Incorrect.
Incorrect. This reflects a common misconception that Snowflake-managed Iceberg tables are meant for multi-engine write coordination. If external Spark jobs must continue managing writes and metadata through an external catalog, the table should be unmanaged from Snowflake's perspective. Snowflake-managed Iceberg tables are for Snowflake-managed lifecycle and metadata, not for handing off metadata ownership to Spark.
- D. Incorrect.
Incorrect. Snowflake can query unmanaged Iceberg tables. In fact, that is one of the main reasons to use them: Snowflake can access Iceberg tables whose metadata and files are managed externally. Converting to a native Snowflake table would break the stated requirement that Spark continue writing through the external Iceberg ecosystem.
- E. Incorrect.
Incorrect. Snowflake-managed Iceberg tables do not require a standard native Snowflake table format, and the statement about only using Snowflake internal storage is inaccurate. Snowflake-managed Iceberg tables are still Iceberg tables and are designed to reduce management overhead, typically using cloud object storage patterns rather than requiring conversion to non-Iceberg storage.