Migration
Netezza to Databricks migration: from appliance to lakehouse
How to migrate IBM Netezza to Databricks: converting NZSQL and NZPLSQL to Spark SQL, replacing distribution and organizing keys with liquid clustering, loading with Auto Loader, governance in Unity Catalog and cutover.

Hemant Walchale
· 2 min read
Netezza owners replacing the appliance usually face a choice between Snowflake and Databricks. Databricks is the stronger fit when the new platform also has to serve data engineering in Python, machine learning or streaming, not just SQL reporting. The SQL itself converts well; the work is in procedures, load scripts and the appliance’s physical design.
This is the approach we recommend.
1. Inventory and retire
List tables, views, NZPLSQL procedures, functions, nzsql and nzload scripts, schedules and consumers. Use Netezza’s query history to find what is read, and archive the rest.
2. Map Netezza to Databricks
| Netezza | On Databricks |
|---|---|
| Tables | Delta tables in Unity Catalog |
DISTRIBUTE ON |
Not needed |
ORGANIZE ON, zone maps |
Liquid clustering on the filter columns |
GROOM, GENERATE STATISTICS |
Predictive optimization or scheduled OPTIMIZE; statistics are collected automatically |
| NZSQL queries and views | Databricks SQL (ANSI); most convert with small changes |
| NZPLSQL procedures | Set-based SQL, or Python where procedural logic is needed |
nzload, external tables |
Auto Loader or COPY INTO from cloud storage |
nzsql scripts and cron |
Lakeflow Jobs |
| Database users, groups and grants | Unity Catalog groups, grants, row filters and column masks |
| BI on Netezza | BI on Databricks SQL warehouses |
3. Move data and keep it in sync
Unload tables to files, copy them to cloud storage and load them as Delta. For the parallel run, re-run the converted loads against the same source files, or use change data capture from the upstream systems.
4. Reconcile by domain
Compare row counts, totals and row-level differences for every table in a domain. Typical causes of mismatch are data type mapping (BYTEINT, NUMERIC precision), string trimming and date functions. Cut over when comparisons are clean and owners sign off.
5. Retire the appliance
Plan waves back from the appliance’s support or refresh date, and stop each Netezza job the day its domain moves.
The short version
Retire unused objects, load data as Delta in Unity Catalog, replace organizing keys and zone maps with liquid clustering, rewrite NZPLSQL as set-based SQL, rebuild schedules as Lakeflow Jobs, reconcile and switch off the appliance by domain.
Choosing between targets? Compare with Netezza to Snowflake or use the platform chooser. Browse all migration guides.
Not sure where your own platform stands? Take the free 3-minute data platform scorecard, or see how we work on Databricks. Unfamiliar terms are explained in the data engineering glossary.