Convert to Delta Lake
CONVERT TO DELTA SQL command performs a one-time conversion for Parquet and Iceberg tables to Delta Lake tables. For incremental conversion of Parquet or Iceberg tables to Delta Lake, see Incrementally clone Parquet and Iceberg tables to Delta Lake.
Unity Catalog supports the
CONVERT TO DELTA SQL command for Parquet and Iceberg tables stored in external locations managed by Unity Catalog.
You can configure existing Parquet data files as external tables in Unity Catalog and then convert them to Delta Lake to unlock all features of the Databricks Lakehouse.
For the technical documentation, see CONVERT TO DELTA.
Converting a directory of Parquet or Iceberg files in an external location to Delta Lake
Converting Iceberg tables is in Public Preview.
Converting Iceberg tables is supported in Databricks Runtime 10.4 and above.
Converting Iceberg metastore tables is not supported.
Converting Iceberg tables that have experienced partition evolution is not supported.
Converting Iceberg merge-on-read tables that have experienced updates, deletions, or merges is not supported.
You can convert a directory of Parquet data files to a Delta Lake table as long as you have write access on the storage location; for information on configuring access with Unity Catalog, see Manage external locations and storage credentials.
CONVERT TO DELTA parquet.`s3://my-bucket/parquet-data`; CONVERT TO DELTA iceberg.`s3://my-bucket/iceberg-data`;
To load converted tables as external tables to Unity Catalog, you need
CREATE TABLES permissions on the external location.
For Databricks Runtime 11.2 and above,
CONVERT TO DELTA automatically infers partitioning information for tables registered to the metastore, eliminating the requirement to manually specify partitions.
Converting managed and external tables to Delta Lake on Unity Catalog
Unity Catalog supports many formats for external tables, but only supports Delta Lake for managed tables. To convert a managed Parquet table directly to a managed Unity Catalog Delta Lake table, see Upgrade a table to a Unity Catalog managed table.
To upgrade an external Parquet table to Unity Catalog, see Upgrade an external table to Unity Catalog.
Once you’ve registered an external Parquet table to Unity Catalog, you can convert it to an external Delta Lake table. Note that you must provide partitioning information if the parquet table is partitioned.
CONVERT TO DELTA catalog_name.database_name.table_name; CONVERT TO DELTA catalog_name.database_name.table_name PARTITIONED BY (date_updated DATE);