📐 Semantic Layer Inside Databricks: A Look at Unity Catalog Metric Views (With an Example)

🤔 The enterprise-wide enigma Ask three people on your data team what “total revenue” means and you’ll get three queries. One filters out returns. One rounds before summing. One groups by order date, another by ship date. All three are technically correct, and none of them match. This isn’t a data quality problem. The data is fine. The problem is that every dashboard, notebook, and BI tool re-implements the aggregation logic from scratch, and nothing stops those implementations from drifting apart from each other. ...

July 26, 2026 · 14 min · 2844 words · Me

⚛️ Why Atomic Clocks, Earthquakes 🌍, and $2 Crystals 💎 Make You Lose Data 💸

The 87-Millisecond Gap Your database says it’s 10:00:00.000. The atomic clock in Colorado says it’s 10:00:00.087. The difference that had been made? A melting glacier in Greenland, an earthquake in Chile, and a $2 quartz crystal vibrating inside your server. Somewhere in that 87-millisecond gap, a $50,000 transaction just disappeared from your revenue report. Here’s what happened: You processed the same Kafka topic twice. Same code, same data, same time range. First run reported $10.2M in transactions. Second run reported $11.4M. You were missing $1.2M worth of payments, and nobody noticed for three months. ...

November 9, 2025 · 17 min · 3580 words · Me

💡 Spark Caching: When It Helps and When It Hurts Your Performance 🔧

Ever had a Spark job that keeps re-reading the same data over and over? You might need caching. But cache at the wrong time, and you’ll actually slow things down. Here’s when caching helps, when it doesn’t, and how to use it right. This blog will be short but sweet! 🔍 What is Caching? Think of caching like keeping your frequently used files on your desk instead of walking to the filing cabinet every time you need them. ...

July 20, 2025 · 5 min · 928 words · Me

📊 The Analytics Self-Service Revolution: How Data Catalogs Empower Enterprise Teams 💡

Introduction Picture this: Your marketing team needs customer data for an upcoming campaign. You submit a request to IT, initiating a complex process that involves multiple teams, approval chains, and coordination across departments. The request joins a backlog of similar requests, each requiring data team resources. This scenario plays out daily in enterprises worldwide. What should be simple data requests turn into lengthy processes that can stretch for weeks or months. ...

April 24, 2025 · 13 min · 2588 words · Me

Speed Up Your Spark Jobs: The Hidden Trap in Union Operations

The Problem: Union function isn’t as Simple as it Seems Picture this: You have a large dataset that you need to process in different ways, so you: Split it into smaller pieces Transform each piece differently Put them back together using union Sounds straightforward, right? Well, there’s a catch that most developers don’t know about. The Hidden Performance Killer 🐌 Here’s what’s actually happening behind the scenes when you use union: ...

November 29, 2024 · 4 min · 844 words · Me

AWS Lambda Event Source Mapping: The Magic Behind Kafka Offset Management

Introduction When building event-driven architectures with AWS Lambda and Apache Kafka, one of the most critical yet often misunderstood components is offset management especially for event source mapping when you use lambda functions. Many developers wonder: Do I need to manage Kafka offsets manually? or What happens when my consumer group’s offsets expire? In this blog post, we’ll demystify how AWS Lambda’s Event Source Mapping handles Kafka offsets automatically and what you actually need to know as a developer. ...

November 16, 2024 · 5 min · 1002 words · Me

DuckDB Inside Postgres: The Unlikely Duo Supercharging Analytics

DuckDB Inside Postgres: The Unlikely Duo Supercharging Analytics If you work in data engineering, you know that the field moves at a dizzying pace. New tools and technologies seem to pop up daily, each promising to revolutionize how we store, process, and analyze data. Amidst this constant change, two names have remained stalwarts: Postgres, the tried-and-true relational database, and DuckDB, the talented new kid on the block for analytics workloads. ...

October 30, 2024 · 9 min · 1730 words · Me

Apache Spark: Beware of Column Ordering and Data Types When Using Apache Spark's Union Function

Introduction In this blog post, we’ll zoom into the details of how column ordering and data types can cause issues when using the union function in Apache Spark to combine two dataframes. We’ll explore real-world examples that illustrate the problem and provide practical solutions to overcome these challenges. By the end of this post, you’ll have a better understanding of how to use union effectively and avoid common pitfalls that can lead to job failures. ...

October 6, 2024 · 5 min · 1038 words · Me

Apache Spark: Why JSON isn't ideal format for your spark job

Introduction Hi there 👋! In this blog post, we will explore why JSON is not suitable as a big data file format. We’ll compare it to the widely used Parquet format and dig deep to demonstrate, through examples, how the JSON format can significantly degrade the performance of your data processing jobs. JSON (JavaScript Object Notation) is a popular and versatile data format, but it has limitations when dealing with large-scale data operations. On the other hand, Parquet, an open-source columnar storage format, has become the go-to choice for big data applications. ...

September 9, 2024 · 5 min · 924 words · Me

AWS: Lambda Event Source Mapping with Confluent Kafka

Introduction Welcome, readers! 📖 In this post, we’ll explore the idea of event source mapping in AWS, with a focus on its implementation and functionality. We’ll zoom-in 🔍 how automatic scaling works and examine the process of consuming messages from Kafka event sources. Using Lambda to consume records from Kafka Processing streaming data with traditional server-based technologies and Kafka consumers written in Scala can often introduce unnecessary overhead for simple tasks like creating custom sink consumers to save or delete data based on specific rules. In such scenarios, where complex data processing, joining multiple topics, or a full-fledged streaming application isn’t required, a Python-based Lambda function emerges as a viable alternative. ...

August 4, 2024 · 5 min · 981 words · Me