Zerobus Ingest now supports Databricks Variant type via REST API (Beta), enabling schema-free JSON ingestion. No more schema definitions, no more ETL headaches—just send your data and query it.
If you've worked with data ingestion pipelines, you know the drill: define a schema, update it when your data structure changes, redeploy your pipeline, and hope nothing breaks. This cycle becomes especially painful when ingesting semi-structured data from APIs, logs, or IoT devices, where data schema evolution is frequent.
Traditional approaches force you to choose between:
Databricks Variant type provides a native way to store and query semi-structured data without predefined schemas. With Zerobus Ingest's REST API support for Variant, you can now ingest JSON directly while maintaining query-performant reads.
The Zerobus Ingest REST API endpoint becomes your ingestion pipeline. Focus on business logic instead of data plumbing.
To enable Variant support in your Zerobus Ingest workflow:
Before ingesting data, create a target table with a Variant column. Zerobus Ingest requires the table to exist beforehand—it will not auto-create tables for you.
Here's a simple table definition:
CREATE TABLE main.default.events (
event_id STRING,
data VARIANT,
ingested_at TIMESTAMP
);
This minimal schema gives you:
You can also use a single-column approach if you don't need additional metadata:
CREATE TABLE main.default.events (
data VARIANT
);
The beauty of Variant is that all your JSON structure lives in that one column, queryable without further schema definitions.
Using the Zerobus Ingest REST API with Variant is straightforward. Here's a simple example:
curl -X POST https://<databricks-workspace>.cloud.databricks.com/zerobus/v1/tables/main.default.events/insert \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '[
{
"event_id": "evt_123",
"data": {
"id": "usr_456",
"email": "user@example.com",
"preferences": {
"notifications": true,
"theme": "dark"
}
},
"timestamp": "2026-02-13T10:30:00Z",
},
...
]'
Once ingested, query your data with standard SQL and Variant shorthand SQL:
SELECT
event_id,
data:id as user_id,
data:preferences.theme as theme,
data:email as email
FROM events
WHERE data:preferences.notifications = true;
Zerobus Ingest with Variant type support removes the friction from semi-structured data ingestion. By combining the flexibility of schema-free JSON with the performance of native Databricks storage, you can build more resilient data pipelines with less code and less maintenance for maximum flexibility.
Ready to simplify your data ingestion? Check out the Zerobus Ingest documentation and start sending data today.
Have questions or want to share your Variant use cases? Join the discussion below!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.