Service to classify the data into hierarchical entities

post

/spatialviewer/api/v1/hadoop/categorizationJob

This service provides a way to classify the data into hierarchical entities. In a given set of catalogs with a defined level of boundaries such as continents, countries and states, it is possible to join a record of the user data to a record of each level of the hierarchy data set. For example it can be used to show all the twitters from specified HDFS files in the hierarchy World Continents/World Countries/World State Provinces/World Cities.

Request

Supported Media Types
Query Parameters
Body ()
Job details
Root Schema : CategorizationJobInfo
Type: object
Show Source
  • Path of the file or files in HDFS to categorize. Specify this property if useIndex is false.
    Example: /user/oracle/spatialviewer/tweetsJune.json
  • The index name. Specify this property if useIndex is true.
    Example: TweetsJune
  • The input format class. Specify this property if useIndex is false.
    Example: oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
  • jar name with the user-defined classes like custom RecordInfoProvider or InputFormat. If the InputFormat class or the RecordInfoProvider class is not in the API, or in the hadoop API classes, then a jar with the user-defined classes must be provided. To be able to use this jar the user must add it in the /opt/oracle/oracle-spatial-graph/spatial/web-server/spatialviewer/WEB-INF/lib directory and restart the server. Optional property that can be set if useIndex is false.
    Example: myjar.jar
  • The templates to create the thematic maps (file names). The examples in the folder /opt/oracle/oracle-spatial-graph/spatial/vector/examples provide commonly used templates like countries or world regions templates.
    Example: world_continents,world_countries,world_states_provinces
  • The Hadoop job output path.
    Example: /user/oracle/spatialviewer/catResult
  • The class that provides the spatial information. Specify this property if useIndex is false.
    Example: oracle.spatial.hadoop.vector.geojson.GeoJsonRecordInfoProvider
  • The result name.
    Example: Categorization TweetsJune
  • true if an index is used as input, false otherwise
    Example: true
  • If the MVSuggest service has to be used or not. If the geometry must be found from a location string, then use the MVSuggest service. In this case the provided RecordInfoProvider has to implement the interface oracle.spatial.hadoop.vector.LocalizableRecordInfoProvider. See examples on how to use the MVSuggest (data enrichment service) in the folder /opt/oracle/oracle-spatial-graph/spatial/vector/examples. Specify this property if useIndex is false.
    Example: false
Back to Top

Response

Supported Media Types

200 Response

Successful request.

The response contains the location of the results in HDFS.

Additionally When the job finishes the results will be saved in the folder categorization_results contained in the SpatialViewer local working directory (see SpatialViewer configuration).
Body ()
Root Schema : CategorizationJobResponse
Type: object
Show Source

202 Response

accepted asynchronous request.

The response contains the resource manager web application URL to track the job.

Additionally When the job finishes the results will be saved in the folder categorization_results contained in the SpatialViewer local working directory (see SpatialViewer configuration).
Body ()
Root Schema : AsyncCategorizationJobResponse
Type: object
Show Source
Back to Top

Examples

The following example shows how to categorize the data in the index tweetsJanuary using the templates world_continents, world_countries and world_states_provinces by submitting a POST request on the REST resource using cURL.

curl -v -X POST "http://localhost:8045/spatialviewer/api/v1/hadoop/categorizationJob" -H  "accept: application/json" -H  "content-type: application/json" -d "{  \"useIndex\": true,  \"indexName\": \"tweetsJanuary\",  \"jobtemplates\": \"world_continents,world_countries,world_states_provinces\",  \"outputPath\": \"/user/oracle/catResult\",  \"resultName\": \"Categorization Tweets\"}" 

Example of Response Header

The following shows an example of the response header.

HTTP/1.1 200 OK Date: Wed, 15 Nov 2017 17:50:38 GMT Access-Control-Allow-Origin: * Access-Control-Allow-Credentials: true Access-Control-Allow-Methods: GET, POST, DELETE, PUT Access-Control-Allow-Headers: Content-Type, Accept Transfer-Encoding: chunked  Content-Type: application/json

Example of Response Body

The following example shows the contents of the response body in JSON format:

{"status" : "success", "title" : "Create categorization job.", "o:successCode" : "SV-05003", "response" : "hdfs://localhost:8020/user/oracle/catResult"} 
Back to Top