The Scalding QuickStart Tutorial


It is important that your environment is configured properly before we get started. You should have the following installed correctly before we get started with development:


The code of this tutorial is hosted on GitHub. Clone the code onto your local disk like so:

$ git clone


The tutorial requires data files which are hosted on

$ cd tutorials
$ mkdir scalding-data-processing/data
$ wget
$ tar xf etl-log-data.tgz -C scalding-data-processing/data


To compile your ETL flows, you will need Gradle

Ensure that you install version 1.09 or 1.11. This exercise is currently not compatible with gradle 2.x.

You can check your version of gradle like this:

$ gradle -v
------------------------------------------------------------ +
    Gradle 1.9 +
------------------------------------------------------------ +


We will be running the ETL on the Hadoop distribution of your choice. Cascading is supported on all major Hadoop distributions. Install the latest stable version from the 2.x series.

$ hadoop version +
Hadoop 2.2.0 +

Cascading is compatible with a number of Hadoop distributions and versions. You can see on the compatibility page to see if your distribution is supported.


Use Driven to develop and debug Scalding flows. You do not need to make any changes to your existing Cascading applications to integrate with the Driven application.

The cloud version of Driven is free to use for development. Visit Try Driven to access all the developer features and gain visibility into your ETL flows.

We will use the cloud-based Driven product for the purposes of this tutorial. Driven will receive the data from your application to help you monitor and visualize the development and the execution of your application. To use the cloud version of Driven, the Driven plugin must be visible to your Cascading application. In addition, your Cascading application must have network access to the Internet so it may send data to the domain name "" over port 443 (the default SSL port for HTTP). Note that the client side of Cascading will be the only Java process attempting to make a remote network connection.

You can learn more about using Driven for your Cascading application at Getting Started with Driven.


Make sure that you are running the tutorial with JDK 1.7. Currently, we are deprecating support for version 1.6 and do not support JDK 1.8.

IDE Support

While an IDE is not strictly required to follow the tutorials, it is certainly useful. You can easily create an IntelliJ IDEA compatible project, by typing this from the root directory of the tutorials:

$ gradle idea

If you prefer eclipse, you can run:

$ gradle eclipse

Next: Part 1: Importing & Validating Data