Hadoop APIを使用した空間索引の作成
post
/spatialviewer/api/v1/hadoop/createIndex
索引メタデータ・ディレクトリは、SpatialViewerのHDFS作業ディレクトリ(SpatialViewer構成を参照)に含まれているディレクトリindex_metadataです。
リクエスト
サポートされるメディア・タイプ
- application/json
問合せパラメータ
- asynchronous: boolean
trueの場合、索引が非同期的に作成されます。デフォルト値:
false
インデックスの詳細
ルート・スキーマ: HadoopIndexInfo
型:
ソースの表示
object
- dataPath(optional): string
HDFSの索引へのファイルのパス。例:
/user/oracle/spatialviewer/tweetsJune.json
- indexName(optional): string
索引の名前。例:
TweetsJune
- indexPath(optional): string
新しい索引のパス。これはジョブの出力パスです。例:
/user/oracle/spatialviewer/TweetsJune
- inputFormatClass(optional): string
入力形式クラス。例:
oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
- jarWithNeededClasses(optional): string
カスタムRecordInfoProviderまたはInputFormatのようなユーザー定義クラスを持つJAR名。InputFormatクラスまたはRecordInfoProviderクラスがAPI、またはHadoop APIクラスにない場合、ユーザー定義クラスのJARが提供されます。このjarを使用するには、/opt/oracle/oracle-spatial-graph/spatial/web-server/spatialviewer/WEB-INF/libディレクトリに追加し、サーバーを再起動する必要があります。オプションのプロパティ。例:
myjar.jar
- jobtemplates(optional): string
MVSuggestサービスを使用する場合、ユーザーは索引の作成に使用するテンプレート(ファイル名)を定義できます。フォルダ/opt/oracle/oracle-spatial-graph/spatial/vector/examplesのMVSuggest (データ・エンリッチメント・サービス)の使用方法の例を参照してください。オプションのプロパティ。例:
world_continents,world_countries,world_states_provinces
- recordInfoProviderClass(optional): string
空間情報を提供するクラス。例:
oracle.spatial.hadoop.vector.geojson.GeoJsonRecordInfoProvider
- srid(optional): integer(int32)
索引付けするジオメトリのSRID。例:
8307
- tolerance(optional): number(double)
空間操作を実行するときに使用される許容差を表すdouble値。例:
0.05
- useMVSuggest(optional): string
MVSuggest (データ・エンリッチメント)サービスを使用する必要がある場合はtrue、それ以外の場合はfalse。例:
false
レスポンス
サポートされるメディア・タイプ
- application/json
201レスポンス
索引の作成に成功しました
ルート・スキーマ: CreateHadoopIndexJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05002
- response(optional): string
レスポンスには、新しく作成された索引の場所が含まれています。例:
hdfs://<namenode>:8020/user/oracle/spatialviewer/TweetsJune
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create Index.
202レスポンス
非同期の索引の作成を受け入れました
ルート・スキーマ: AsyncCreateHadoopIndexJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05002
- response(optional): string
レスポンスには、ジョブを追跡するためのリソース・マネージャWebアプリケーションのURLの場所が含まれています(Hadoopパラメータyarn.resourcemanager.webapp.addressの構成を参照してください)。例:
http://resource.manager.webapp:8088
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create Index.
例
次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、Hadoop索引を作成する方法を示しています。
curl -v -X POST "http://localhost:8045/spatialviewer/api/v1/hadoop/createIndex" -H "accept: application/json" -H "content-type: application/json" -d "{ \"indexName\": \"tweetsJanuary\", \"dataPath\": \"/user/oracle/tweets.json\", \"indexPath\": \"/user/oracle/tweetsJanuary\", \"srid\": 8307, \"tolerance\": 0.05, \"inputFormatClass\": \"oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat\", \"recordInfoProviderClass\": \"oracle.spatial.hadoop.vector.geojson.GeoJsonRecordInfoProvider\", \"useMVSuggest\": false}"
レスポンス・ヘッダーの例
次に、レスポンス・ヘッダーの例を示します。
HTTP/1.1 201 Created Date: Wed, 15 Nov 2017 17:50:38 GMT Location: hdfs://localhost:8020/user/oracle/tweetsJanuary 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
レスポンス本文の例
次の例は、レスポンス本文の内容をJSON形式で示したものです。
{"status" : "success", "title" : "Create Index.", "o:successCode" : "SV-05002", "response" : "hdfs://localhost:8020/user/oracle/tweetsJanuary"}