Spark APIを使用した空間索引の作成
post
/spatialviewer/api/v1/spark/createIndex
索引メタデータ・ディレクトリは、SpatialViewerのローカル作業ディレクトリ(SpatialViewer構成を参照)に含まれているディレクトリspark_index_metadataです。
リクエスト
サポートされるメディア・タイプ
- application/json
問合せパラメータ
- asynchronous: boolean
trueの場合、索引が非同期的に作成されます。デフォルト値:
false
インデックスの詳細
ルート・スキーマ: SparkIndexInfo
型:
ソースの表示
object
- dataPath(optional): string
HDFSの索引へのファイルのパス。例:
/user/oracle/spatialviewer/tweetsJune.json
- dbConnURL(optional): string
データベースのURL。useDBDataSourceがtrueの場合は、このプロパティを指定します。例:
jdbc:oracle:thin:@myhost:1521:orcl
- dbPwd(optional): string
データベース・パスワード。useDBDataSourceがtrueの場合は、このプロパティを指定します。例:
tiger
- dbUsr(optional): string
データベース・ユーザー名。useDBDataSourceがtrueの場合は、このプロパティを指定します。例:
scott
- indexName(optional): string
索引の名前。例:
TweetsJune
- indexPath(optional): string
新しい索引のパス。これはジョブの出力パスです。例:
/user/oracle/spatialviewer/TweetsJune
- inputFormatClass(optional): string
入力形式クラス。オプション。入力形式クラスが指定されていない場合は、SparkContextのtextFileが使用されます。例:
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
- keyClass(optional): string
入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.LongWritable
- recordInfoProviderClass(optional): string
空間情報を提供するクラス。例:
oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
- sqlQuery(optional): string
SQL問合せまたは表名(表全体を問い合せるため)。useDBDataSourceがtrueの場合は、このプロパティを指定します。例:
select * from POI_RESTAURANT where POI_POSTCODE=94133 and POI_STREET_NAME='COLUMBUS AVE'
- srid(optional): integer(int32)
索引付けするジオメトリのSRID。例:
8307
- tolerance(optional): number(double)
空間操作を実行するときに使用される許容差を表すdouble値。例:
0.05
- useDBDataSource(optional): boolean
データ・ソースとしてOracle Databaseデータを使用する場合はtrue、それ以外の場合はfalse。デフォルトでFalseです。trueの場合、dataPath、inputFormatClass、keyClass、valueClassおよびrecordInfoProviderClassのプロパティは無視されます。例:
false
- valueClass(optional): string
入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。例:
org.apache.hadoop.io.Text
レスポンス
サポートされるメディア・タイプ
- application/json
201レスポンス
索引の作成に成功しました
ルート・スキーマ: CreateSparkIndexJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05006
- response(optional): string
レスポンスには、新しく作成された索引の場所が含まれています。例:
hdfs://<namenode>:8020/user/oracle/spatialviewer/TweetsJune
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create Spark Index.
202レスポンス
非同期の索引の作成を受け入れました
ルート・スキーマ: AsyncCreateSparkIndexJobResponse
型:
ソースの表示
object
- o:successCode(optional): string
成功コード。例:
SV-05006
- response(optional): string
レスポンスには、ジョブを追跡するためのリソース・マネージャWebアプリケーションのURLの場所が含まれています(Hadoopパラメータyarn.resourcemanager.webapp.addressの構成を参照してください)。例:
http://resource.manager.webapp:8088
- status(optional): string
成功またはエラー例:
success
- title(optional): string
サービスのタイトル。例:
Create Spark Index.
例
次の例では、cURLを使用してRESTリソースに対するPOSTリクエストを発行することによって、Spark索引を作成する方法を示しています。
curl -v -X POST "http://localhost:8045/spatialviewer/api/v1/spark/createIndex" -H "accept: application/json" -H "content-type: application/json" -d "{ \"indexName\": \"TweetsJune\", \"dataPath\": \"/user/oracle/tweets.json\", \"indexPath\": \"/user/oracle/HOL/tweetsJune\", \"srid\": 8307, \"tolerance\": 0.05, \"inputFormatClass\": \"oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat\", \"recordInfoProviderClass\": \"oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider\", \"keyClass\": \"org.apache.hadoop.io.LongWritable\", \"valueClass\": \"org.apache.hadoop.io.Text\"}"
レスポンス・ヘッダーの例
次に、レスポンス・ヘッダーの例を示します。
HTTP/1.1 201 Created Date: Wed, 15 Nov 2017 17:50:38 GMT Location: hdfs://localhost:8020/user/oracle/tweetsJune 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 Spark Index.", "o:successCode" : "SV-05006", "response" : "hdfs://localhost:8020/user/oracle/tweetsJune"}