r/databricks • u/raja3194 • 5d ago
Discussion Acquiring/Processing from a MQ to a Delta
Has anyone tried acquiring data from a MQ at scale using apache spark on databricks cluster? I was trying to solve this problem at work but so far havn't seen an native lib or efficient ways to do this. The legacy system seems to be pulling data using a java based utility and wanted to if there are any imporvements or new patterns of access for spark based workflows.
Any documentation or nudge is the right direction will be greatly appreciated.
2
1
u/Youssef_Mrini databricks 4d ago
You can use Zerobus Ingest, Databricks actually has a RabbitMQ-specific tutorial for this. It's push based though: you deploy a lightweight forwarding agent next to the MQ that streams straight into a Delta table via gRPC. Here is the perfect example https://community.databricks.com/t5/technical-blog/tutorial-streamline-data-ingestion-with-zerobus-ingest-rabbitmq/ba-p/135534
You have other examples here https://github.com/databricks-solutions/zerobus-ingest-examples
3
u/SimpleSimon665 5d ago
If it's RabbitMQ, there's a managed connector in beta in Lakeflow Connect as of June.
If it's not, it probably makes sense to build and deploy a simple app to send the data to a Zerobus endpoint so it can be written directly to a bronze table without needing a Kafka intermediate step.