Skip to main content

best platforms for data platform migration

Summary

  • A data platform migration depends on whether the target platform runs your existing SQL, Hive, and Spark code with little rewriting, keeps data in open formats, and governs data and AI assets in one place.
  • Databricks documents that most workloads, queries, and dashboards defined in enterprise data warehouses can run with minimal code refactoring after the initial data migration and governance configuration.
  • Delta Lake is open source and the default table format on Databricks. Iceberg tables are supported in Unity Catalog, and Iceberg reads let Iceberg clients read Delta Lake tables.
  • The agentic code converter (Beta) and Lakebridge help translate legacy SQL, and the docs say to validate converted output against the source.

best platforms for data platform migration

The best platform for a data platform migration is the one that moves existing workloads with the least rewriting, keeps data in open formats, and governs data and AI assets in one place. A lakehouse fits that description. Databricks states that most workloads, queries, and dashboards defined in enterprise data warehouses can run with minimal code refactoring once admins have completed the initial data migration and governance configuration.

What is a lakehouse?

The Databricks docs define a data lakehouse as "a data management system that combines the benefits of data lakes and data warehouses." Data sits in standard formats in cloud object storage with a metadata layer on top, so different use cases work from the same data. On Databricks, Delta Lake is the default table format. It is open source software that extends Parquet data files with a file-based transaction log for ACID transactions and scalable metadata handling. Unity Catalog adds governance.

What capabilities should you evaluate?

Capability What to check
Code compatibility How much of your SQL, HiveQL, and Spark code runs without rewriting, and what the vendor documents about behavior differences
Conversion tooling Whether tools convert legacy SQL dialects and validate the output against the source
Ingestion Connectors for databases, enterprise applications, cloud storage, and message buses, including change data capture
Batch and streaming Whether both run through the same pipelines and write to the same tables
Open table formats Whether other engines can read the tables without a rewrite or an export
Governance Access control, lineage, and auditing across tables, files, and models
Data validation Whether you can reconcile migrated data with the source system

How does Databricks approach data platform migration?

The migration docs cover three scenarios: migrating ETL jobs, replacing an enterprise data warehouse with a lakehouse, and unifying ML, data science, and analytics workloads.
Existing code. The ETL migration guide says most Hive workloads can run on Databricks with minimal refactoring, and that SQL workloads from other systems usually need very little, depending on how much source-specific code they contain. Pipelines written in languages other than SQL, Apache Spark, or Hive might need heavy refactoring. For Spark jobs, the adaptation steps include changing parquet to delta and removing SparkSession creation commands.
Legacy SQL. The agentic code converter (Beta) uses Genie Code to convert SQL from several source dialects into Databricks SQL or notebooks. A workspace admin enables it from the Previews page, and documented limits include 300 files per batch and 1,000 lines per script. It validates its own output and fixes sections that fail, but the docs still tell you to run the original and converted queries on equivalent test data and compare the results. Lakebridge, a Databricks Labs toolkit, covers assessment, transpilers, and data reconciliation for SQL migrations.
Ingestion and pipelines. Lakeflow Connect offers connectors for local files, enterprise applications, databases, cloud storage, and message buses. Its fully managed connectors handle source-specific authentication, change data capture, automated retries, and automated schema evolution. Lakeflow Pipelines is a declarative framework for batch and streaming pipelines in SQL and Python.
Governance and open formats. Unity Catalog enforces access control when you query a table or call a model, tracks lineage, and logs activity for auditing. Its access control covers privileges, attribute-based policies, row and column filters, and workspace bindings. Iceberg reads (UniForm) generate Iceberg metadata for Delta Lake tables, and the Iceberg REST Catalog API gives external Iceberg engines access to Iceberg tables in Unity Catalog.

What should you plan for when replacing a warehouse?

Area What the docs say
Namespacing Three tier namespacing uses the catalog.schema.table pattern
Constraints Primary key and foreign key constraints are informational only, and constraints can only be enforced at a table level
Data types Native data types in Databricks and Delta Lake might differ slightly from source systems
SQL dialect Spark SQL is mostly ANSI-compliant, but some differences in behavior might exist

FAQs

How much refactoring do existing SQL workloads need?

The docs say SQL workloads from other systems usually need very little refactoring, depending on how much source-specific code they contain. Plan time for configuring access to external data sources, updating connection logic, and the behavior differences above.

Can other tools read the data after migration?

Delta Lake is open source software. Iceberg reads make Delta Lake tables readable by Iceberg clients. They require a table registered in Unity Catalog, column mapping enabled, and writes from Databricks Runtime 14.3 LTS or above.

What if I have both batch and streaming workloads?

Lakeflow Pipelines supports both. A pipeline in triggered mode stops after refreshing all tables with the data available when the update started, and continuous mode processes new data as it arrives. Streaming tables and materialized views can each run in either mode.

How do I check that migrated data and queries are correct?

Compare results against the source. The code converter docs say to confirm the output is semantically correct, not only syntactically valid, and Lakebridge includes a reconciler designed to help you confirm that data in Databricks matches the source system.

The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.