Spark APIを使用した空間索引の作成

post

/spatialviewer/api/v1/spark/createIndex

索引メタデータ・ディレクトリは、SpatialViewerのローカル作業ディレクトリ(SpatialViewer構成を参照)に含まれているディレクトリspark_index_metadataです。

リクエスト

サポートされるメディア・タイプ
問合せパラメータ
本文()
インデックスの詳細
ルート・スキーマ: SparkIndexInfo
型: object
ソースの表示
  • HDFSの索引へのファイルのパス。
    例: /user/oracle/spatialviewer/tweetsJune.json
  • データベースのURL。useDBDataSourceがtrueの場合は、このプロパティを指定します。
    例: jdbc:oracle:thin:@myhost:1521:orcl
  • データベース・パスワード。useDBDataSourceがtrueの場合は、このプロパティを指定します。
    例: tiger
  • データベース・ユーザー名。useDBDataSourceがtrueの場合は、このプロパティを指定します。
    例: scott
  • 索引の名前。
    例: TweetsJune
  • 新しい索引のパス。これはジョブの出力パスです。
    例: /user/oracle/spatialviewer/TweetsJune
  • 入力形式クラス。オプション。入力形式クラスが指定されていない場合は、SparkContextのtextFileが使用されます。
    例: oracle.spatial.hadoop.vector.geojson.mapred.GeoJsonInputFormat
  • カスタムRecordInfoProviderまたはInputFormatのようなユーザー定義クラスを持つJAR名。InputFormatクラスまたはRecordInfoProviderクラスがAPI、またはHadoop APIクラスにない場合、ユーザー定義クラスのJARが提供されます。このjarを使用するには、/opt/oracle/oracle-spatial-graph/spatial/web-server/spatialviewer/WEB-INF/libディレクトリに追加し、サーバーを再起動する必要があります。オプションのプロパティ。
    例: myjar.jar
  • 入力形式のキーのクラス。入力形式が定義されている場合、このプロパティは必須です。
    例: org.apache.hadoop.io.LongWritable
  • 空間情報を提供するクラス。
    例: oracle.spatial.spark.vector.recordinfoprovider.GeoJsonRecordInfoProvider
  • SQL問合せまたは表名(表全体を問い合せるため)。useDBDataSourceがtrueの場合は、このプロパティを指定します。
    例: select * from POI_RESTAURANT where POI_POSTCODE=94133 and POI_STREET_NAME='COLUMBUS AVE'
  • 索引付けするジオメトリのSRID。
    例: 8307
  • 空間操作を実行するときに使用される許容差を表すdouble値。
    例: 0.05
  • データ・ソースとしてOracle Databaseデータを使用する場合はtrue、それ以外の場合はfalse。デフォルトでFalseです。trueの場合、dataPath、inputFormatClass、keyClass、valueClassおよびrecordInfoProviderClassのプロパティは無視されます。
    例: false
  • 入力形式の値のクラス。入力形式が定義されている場合、このプロパティは必須です。
    例: org.apache.hadoop.io.Text
先頭に戻る

レスポンス

サポートされるメディア・タイプ

201レスポンス

索引の作成に成功しました
本文()
ルート・スキーマ: CreateSparkIndexJobResponse
型: object
ソースの表示

202レスポンス

非同期の索引の作成を受け入れました
本文()
ルート・スキーマ: AsyncCreateSparkIndexJobResponse
型: object
ソースの表示
先頭に戻る

次の例では、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"} 
先頭に戻る