Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Lightning-fast cluster computing in Java, Scala and Python.

This branch is 0 commits ahead and 3757 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time


You can find the latest Spark documentation, including a programming guide,
on the project wiki at This file only
contains basic setup instructions.


Spark requires Scala 2.8. This version has been tested with

The project is built using Simple Build Tool (SBT), which is packaged with it.
To build Spark and its example programs, run sbt/sbt compile.

To run Spark, you will need to have Scala's bin in your $PATH, or you
will need to set the SCALA_HOME environment variable to point to where
you've installed Scala. Scala must be accessible through one of these
methods on Mesos slave nodes as well as on the master.

To run one of the examples, use ./run <class> <params>. For example,
./run spark.examples.SparkLR will run the Logistic Regression example.
Each of the example programs prints usage help if no params are given.

All of the Spark samples take a <host> parameter that is the Mesos master
to connect to. This can be a Mesos URL, or "local" to run locally with one
thread, or "local[N]" to run locally with N threads.


Spark can be configured through two files: conf/java-opts and conf/

In java-opts, you can add flags to be passed to the JVM when running Spark.

In, you can set any environment variables you wish to be available
when running Spark programs, such as PATH, SCALA_HOME, etc. There are also
several Spark-specific variables you can set:
- SPARK_CLASSPATH: Extra entries to be added to the classpath, separated by ":".
- SPARK_MEM: Memory for Spark to use, in the format used by java's -Xmx option
             (for example, 200m meams 200 MB, 1g means 1 GB, etc).
- SPARK_LIBRARY_PATH: Extra entries to add to java.library.path for locating
                      shared libraries.
- SPARK_JAVA_OPTS: Extra options to pass to JVM.

Note that must be a shell script (it must be executable and start
with a #! header to specify the shell to use).
Something went wrong with that request. Please try again.