This tutorial describes how to access the spatio-temporal indexes built in ST-Hadoop. In this tutorial, we show how to index spatio-temporal data and retrieve basic information about the index and how to perform simple queries on it. Notice that this tutorial does not directly show how to build your own MapReduce programs. Rather, it shows low-level interaction with the ST-Hadoop which can be indirectly used in MapReduce programs.
The first step of interacting with the index is to understand how ST-Hadoop organize data on the HDFS (i.e., Hadoop Distributed File System). For an efficient retrieval of spatio-temporal objects, ST-Hadoop introduces a temporal hierarchy for spatial indexes. This index is organized in multiple levels; each corresponds to specific time resolution. In each level, the whole dataset is replicated and spatiotemporally partitioned according to the resolution of that level. Three resolution levels are supported in ST-Hadoop for simplicity we will describe how to build a spatio-temporal index in a specific resolution. A single resolution level can spatiotemporally organize the data into space indexing structure of [Days, Weeks, Month, Years] or data indexing structure that dynamically index data according to its size and distribution.
Let's say we want to index spatio-temporal data using a space indexing technique of months. The following command line shows how to build the index.
./hadoop jar st-hadoop-uber.jar stmanager /inputdataset /outputIndex time:month shape:edu.umn.cs.STHadoop.STPoint sindex:rtree
|Parameters and Command||Description|
|stmanager||A main command line used to invoke the Spatio-temporal indexes|
|Inputdataset||The HDFS directory where the dataset exists.|
|outputIndex||The HDFS directory where the dataset will be indexed.|
|time||Represent the spatio-temporal resolution layer. could be either of these values. [day, week, month, year]|
|shape||The shape format of should be extended from STPoint that support spatio-temporal data.|
|sindex||The spatial partitioning techniques could be any spatial partitioning technique supported by SpatialHadoop, such as rtree, grid, str quadtree, ...etc.|