Data Processing with Apache Crunch at Spotify
Nov 1, 2014davidawhiting

Summary
This post details the adoption and implementation of Apache Crunch as a Java-based data processing framework at Spotify. It highlights the limitations of the previous Python-based Hadoop Streaming API (performance issues, runtime failures, code duplication) and explains the benefits of Crunch, including type-safety, high performance, higher-level abstractions (filters, joins, aggregations), first-class Avro support, and pluggable execution engines (MapReduce, Spark). The post also introduces `crunch-lib` for common data processing operations and a unified execution layer using an Inversion of Control pattern for better integration with scheduling systems. Example code demonstrates how to build data pipelines with Crunch.