Broadcast Join vs Bucketing: Two Ways to Skip the Shuffle in Spark
A join shuffles both tables across the network. If one side is small you can broadcast it. If both are large, bucketing lets you do the shuffle once and never again.
Read MoreA join shuffles both tables across the network. If one side is small you can broadcast it. If both are large, bucketing lets you do the shuffle once and never again.
Read MoreSpill means Spark ran out of memory in the middle of a task and dumped its working data to disk. Your job does not fail — it just gets slower, with nothing in the logs to explain why.
Read MoreA shuffle moves data across the network between executors. It is also the root cause of the three problems people spend most of their time debugging: skew, spill and out of memory errors.
Read More41,600 files holding 14.8 GB took 34 minutes just to scan. Here is what causes the small files problem, the exact numbers that reveal it in the Spark UI, and four ways to fix it.
Read MoreSpark runs on the JVM. Python UDFs do not. Every row has to be converted between the two — and here is what that costs, how to spot it, and how to fix it.
Read MoreSix redundancy options are really three yes/no questions. What each one protects against, why none of them is a backup, and how to pick per medallion layer.
Read MoreGeneral Purpose, Memory Optimized, disk cache accelerated, Storage Optimized, GPU — what each one actually solves, and how to read the VM name so the dropdown stops being a guess.
Read MoreA walkthrough of what each Databricks compute type actually is — job cluster, all-purpose, SQL Warehouse, serverless — told through one pipeline that quietly cost twice what it should have.
Read More