Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Optimizing Databricks Workloads

You're reading from   Optimizing Databricks Workloads Harness the power of Apache Spark in Azure and maximize the performance of modern big data workloads

Arrow left icon
Product type Paperback
Published in Dec 2021
Publisher Packt
ISBN-13 9781801819077
Length 230 pages
Edition 1st Edition
Languages
Concepts
Arrow right icon
Authors (3):
Arrow left icon
Anshul Bhatnagar Anshul Bhatnagar
Author Profile Icon Anshul Bhatnagar
Anshul Bhatnagar
Sarthak Sarbahi Sarthak Sarbahi
Author Profile Icon Sarthak Sarbahi
Sarthak Sarbahi
Anirudh Kala Anirudh Kala
Author Profile Icon Anirudh Kala
Anirudh Kala
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Section 1: Introduction to Azure Databricks
2. Chapter 1: Discovering Databricks FREE CHAPTER 3. Chapter 2: Batch and Real-Time Processing in Databricks 4. Chapter 3: Learning about Machine Learning and Graph Processing in Databricks 5. Section 2: Optimization Techniques
6. Chapter 4: Managing Spark Clusters 7. Chapter 5: Big Data Analytics 8. Chapter 6: Databricks Delta Lake 9. Chapter 7: Spark Core 10. Section 3: Real-World Scenarios
11. Chapter 8: Case Studies 12. Other Books You May Enjoy

Understanding bucketing in Spark

Bucketing is an optimization technique that helps to prevent shuffling and sorting of data during compute-heavy operations such as joins. Based on the bucketing columns we specify, data is collected in a number of bins. Bucketing is similar to partitioning, but in the case of partitioning, we create directories for each partition. In bucketing, we create equal-sized buckets, and data is distributed across these buckets by a hash on the value of the bucket. Partitioning is helpful when filtering data, whereas bucketing is more helpful during joins.

It is often helpful to perform bucketing on dimension tables that contain primary keys for joining. Bucketing is also helpful when join operations are being performed between small and large tables. In this section, we will go through a quick example to understand how to implement bucketing on a Hive table:

  1. We will begin by creating a Spark DataFrame in a new cell. Run the following code block:
    from...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image