A team owns an external Delta table registered over a path inside a working external location. No system outside Databricks reads that path any more, so the team wants Unity Catalog to own the table's data lifecycle and its file maintenance from now on, while keeping the same three level name and the table's existing history. Which approach converts the table in place?
- ARun CONVERT TO DELTA on the table, which rewrites the transaction log so that Unity Catalog takes ownership of the files stored under the external path.
- BDrop the external location that governs the path, which leaves the table registered with no governed path, so Unity Catalog reclassifies it as a managed table on the next write.
- CSet the table property that marks it as managed with ALTER TABLE SET TBLPROPERTIES, which tells Unity Catalog to begin managing the files already present under the external path.
- DRun ALTER TABLE with SET MANAGED, which converts the external table to a managed table under the same name while preserving its data and history. Correct
Why A is wrong: Tempting because the command name suggests a conversion, but CONVERT TO DELTA turns a Parquet or Iceberg dataset into a Delta table and has no effect on whether a table is managed or external.
Why B is wrong: Dropping the external location removes the authorisation path rather than changing the table type, so queries against the external table would begin failing instead of the table becoming managed.
Why C is wrong: Plausible because many Delta behaviours are controlled by table properties, but table type is not a Delta table property and cannot be flipped with SET TBLPROPERTIES.
Why D is correct: Correct, because SET MANAGED is the supported in place conversion from an external table to a managed table, keeping the identifier, the data and the table history intact.