

To make it easier to write quick scripts, Rob Pike et al.

MapReduce programs need to be compiled and may be more verbose than necessary, so writing a program to analyze the logs can be time-consuming. In order to perform calculations involving the logs, engineers can write MapReduce programs in C++ or Java. Google's server logs are stored as large collections of records ( Protocol Buffers) that are partitioned over many disks within GFS.

Sawzall has been replaced by Lingo (logs in Go) for most purposes within Google. However, since the MapReduce table aggregators have not been released, the open-sourced runtime is not useful for large-scale data analysis of multiple log files off the shelf. Sawzall was first described in 2003, and the szl runtime was open-sourced in August 2010. Sawzall is a procedural domain-specific programming language, used by Google to process large numbers of individual log records.
