cancel
Showing results forย 
Search instead forย 
Did you mean:ย 
Data Engineering
Join discussions on data engineering best practices, architectures, and optimization strategies within the Databricks Community. Exchange insights and solutions with fellow data engineers.
cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

What's the best architecture for Structured Streaming and why?

Constantine
Contributor III

I am building an ETL pipeline which reads data from a Kafka topic ( data is serialized in Thrift format) and writes it to Delta Table in databricks. I want to have two layers

Bronze Layer -> which has raw Kafka data

Silver Layer -> which has deserialized data

I can think of two ways to do it

First way is to read data from Kafka, write the raw data to bronze then read data from bronze and decode it and write it to silver

Second way is to read data from Kafka, write data to bronze and simultaneously decode the data and write it to silver.

I am trying to understand the advantages & disadvantages of each solution. Solution two is much easier to implement but feels like solution one is more fault tolerant

1 ACCEPTED SOLUTION

Accepted Solutions

Hubert-Dudek
Esteemed Contributor III

@John Constantineโ€‹ , "Bronze Layer -> which has raw Kafka data"

If you use confluent.io, you can also utilize a direct sink to DataLake Storage - bronze layer.

"Silver Layer -> which has deserialized data"

Then use Delta Live Tables to process it to delta silver. (file notification mode recommended)

View solution in original post

1 REPLY 1

Hubert-Dudek
Esteemed Contributor III

@John Constantineโ€‹ , "Bronze Layer -> which has raw Kafka data"

If you use confluent.io, you can also utilize a direct sink to DataLake Storage - bronze layer.

"Silver Layer -> which has deserialized data"

Then use Delta Live Tables to process it to delta silver. (file notification mode recommended)

Connect with Databricks Users in Your Area

Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you wonโ€™t want to miss the chance to attend and share knowledge.

If there isnโ€™t a group near you, start one and help create a community that brings people together.

Request a New Group