Getting started with development

In this tutorial, we describe how to get started with developing MapReduce programs in SpatialHadoop. You need to understand how the development process would work and how to set up the development environment.

Developing process

Developing spatial operation for SpatialHadoop is similar to developing normal MapReduce programs in Hadoop. All you need to do is to include SpatialHadoop jar files in your class path when compiling your MapReduce program. Your program is written as a traditional MapReduce program and it uses the new classes introduced in SpatialHadoop such as the spatial data types, spatial input formats and spatial record readers.

Development environment

We recommend Eclipse as an IDE for development but you are not obligated to use it. In Eclipse, create a new Java project and include SpatialHadoop jar files in the build path of your project. Ideally, you would need only the hadoop-core-*.jar, but adding other jars too might help you. For example, you can reuse some of the spatial operations implemented in hadoop-operations-*.jar.

Development virtual machine

For your convenience, we include a development virtual machine where the IDE is set up and a sample project is created and linked with SpatialHadoop jar files. All you need to do is to start writing your code and test it. We also include sample programs in that project to see how it works. In addition, the binaries of SpatialHadoop are linked with the binaries of that project so that you can change the code and try it right away without the need of creating a jar file and deploying it. The development virtual machine can be downloaded here.

Available tutorials