Skip to content

EvBricks

EvBricks is a Python streaming bridge from Azure Event Hubs into a Databricks Unity Catalog managed Delta table through the Databricks Zerobus Ingest connector.

It keeps the source-side pattern from EvSnow: receive events from Azure Event Hubs, preserve Event Hub metadata, batch messages, write the batch to the destination, and checkpoint only after the destination acknowledges the write. The destination is different: EvBricks writes to Databricks instead of Snowflake.

flowchart LR
  producer["Producer applications"] --> namespace["Azure Event Hubs namespace"]
  namespace --> hub["Event hub"]
  hub --> partitions["Partitions"]
  partitions --> bridge["EvBricks runtime"]
  bridge --> zerobus["Zerobus Ingest connector"]
  zerobus --> table["Unity Catalog managed Delta table"]
  bridge --> control["Lakebase Postgres control tables"]

  subgraph azure["Azure"]
    producer
    namespace
    hub
    partitions
  end

  subgraph runtime["Runtime host"]
    bridge
  end

  subgraph databricks["Databricks"]
    zerobus
    table
    control
  end

Documentation map

Use the documentation by task:

  • What EvBricks is explains the moving parts and the cloud boundaries.
  • Run a live smoke test shows the practical workflow for proving Event Hubs messages arrive in Databricks.
  • Configuration is the field-by-field reference for config/evbricks.toml and .env.

External product names

This documentation uses the product names from the platform documentation:

  • Azure Event Hubs, Event Hubs namespace, event hub, partition, consumer group, offset, and checkpointing.
  • Databricks Zerobus Ingest connector, Databricks workspace, Unity Catalog, managed Delta table, service principal, and Lakebase Postgres.

Local files

These local files are intentionally ignored by Git:

  • .env
  • config/evbricks.toml
  • local token, secret, credential, certificate, and key files

Keep deployment names and credentials in ignored local files. Keep reusable examples in config/evbricks.example.toml, .env.example, and this documentation.