Use DataAI ETL with Databricks

Execution model: DataAI runs in customer Databricks compute with JARs installed from an approved Unity Catalog volume or private repository. The supplied notebooks demonstrate quality, analytics/market functions, matrix balancing, and governed BI outputs.

1. Prepare a governed workspace

  1. Use a customer-controlled Unity Catalog catalog, schema, volume, and workspace folder.
  2. Attach the same-version DataAI API, quality, core, and functions JARs to approved compute or a Databricks Job.
  3. Add the volume path to the standard-access-mode allowlist when required.
  4. Restart compute after library installation.
  5. Grant the job identity USE CATALOG, USE SCHEMA, READ VOLUME, source reads, and only approved output privileges.

2. Run the notebooks in order

  1. 00_INSTALL_AND_VERIFY.py — verify runtime versions, paths, and DataAI class loading.
  2. 01_QUALITY_PIPELINE.py — run normalization, profiling, rules, clean/rejected routing, and quality gates.
  3. 02_ANALYTICS_AND_MARKET.py — run selected analytics and market examples.
  4. 03_MATRIX_BALANCING.py — balance matrix cells against row/column controls and inspect convergence.
  5. 04_PUBLISH_FOR_BI.py — prepare optional governed BI views/tables.

Set dataai_base_path to the customer volume. Replace sample catalog/schema values with isolated customer-approved locations.

3. Control persistence

  1. Leave persist_results and publish_views false during the first computational validation.
  2. Review output catalog, schema, table names, retention, ownership, and grants.
  3. Enable persistence only after approval.
  4. Record run_id, library version, completion time, source version, and job run identifier with published outputs.

4. Create an operational Job

  1. Create a Databricks Workflow/Job under a least-privilege service principal.
  2. Pin the exact DataAI libraries and approved compute policy.
  3. Sequence source preparation, DataAI processing, output validation, and BI refresh tasks.
  4. Configure retries only after write behavior is idempotent or protected by run-specific tables/merge logic.
  5. Send failures to customer monitoring without copying sensitive rows into notifications.

5. Validate

A notebook result displayed successfully does not authorize publication. Customer code/settings choose every persisted table or view. Do not mix different DataAI JAR versions on the same compute.

Usage is successful when: notebook 00 verifies installation, all selected functions return expected results, optional persistence reaches only approved Unity Catalog objects, and a clean Databricks Job rerun is repeatable.