グループ化データに対するPython関数の実行

post

/api/py-scripts/v1/group-apply/{scriptName}

列値でグループ化されたデータに対してユーザー所有のPython関数を実行します。

リクエスト

サポートされているメディア・タイプ
パス・パラメータ
本文()
リクエストの引数および追加引数を指定する(名前 - 値)ペアのJSON文字列
ルート・スキーマ: EmbedScriptComputeGrp
型: object
ソースの表示
リクエストの例(application/json)
{"input":"select * from GRADE", "groupBy":"GENDER, YEAR", "orderBy":"GENDER", "parameters":"{\"oml_input_type\":\"default\"}", "parallelFlag":true}
先頭に戻る

レスポンス

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

200レスポンス

デフォルトでは、ジョブの結果を返します。
本文()
ルート・スキーマ: JSONObject
型: object
ソースの表示

201レスポンス

asyncFlag=Trueの場合、ジョブのステータスをフェッチできるロケーション・ヘッダーを返します。
ヘッダー

400レスポンス

無効なパラメータが指定され、出力がサイズ制限を超えているか、他のスクリプト実行エラーが発生しました。
本文()
ルート・スキーマ: InvalidParameterValueException
型: object
ソースの表示

500レスポンス

ブローカへの接続中、ジョブの実行中に問題が発生したか、または他の予期しないエラーが発生しました。
本文()
ルート・スキーマ: ComputeContainerException
型: object
ソースの表示
先頭に戻る

例1: 同期の例

次の例では、group_countというスクリプトを実行します。この例では、parallelFlagtrueに設定して、データベースの並列性を利用します。

curl -i -X POST --header "Authorization: Bearer ${token}" \
--header 'Content-Type: application/json' --header 'Accept: application/json' \
-d '{"input":"select * from IRIS", "parameters":"{\"oml_input_type\":\"pandas.DataFrame\"}", "groupBy":"Species", "orderBy":"Sepal_Length", "parallelFlag":true}' \
"<oml-cloud-service-location-url>/oml/api/py-scripts/v1/group-apply/group_count"

レスポンス・ヘッダー

レスポンス・ヘッダーは次のとおりです。

HTTP/1.1 200 OK
Date: Mon, 17 Aug 2020 21:06:54 GMT
Content-Type: application/json
Content-Length: 5045
Connection: keep-alive
Cache-Control: no-cache, no-store, private
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1;mode=block
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Set-Cookie: JSESSIONID=node0bucgs4gt7hci1gxvgtqc1hjdv647.node0; Path=/oml; Secure; HttpOnly
Expires: Thu, 01 Jan 1970 00:00:00 GMT

レスポンス本文

JSON形式のレスポンス本文の一部を次に示します。

{"result":{"versicolor_8":{"SEPAL_LENGTH":{"0":5.7},"SPECIES":{"0":"versicolor"},"COUNT":{"0":5}},
"versicolor_7":{"SEPAL_LENGTH":{"0":5.6},"SPECIES":{"0":"versicolor"},"COUNT":{"0":2}},...}

例2

次の例では、test_seaborn_inpというスクリプトを実行します。

curl -i -k -X POST --header "Authorization: Bearer ${token}" --header
'Content-Type: application/json' --header 'Accept: application/json' -d
'{"input": "select * from IRIS", "groupBy": "Species", "envName": "seaborn","graphicsFlag": true}' 
"<oml-cloud-service-location-url>/oml/api/py-scripts/v1/group-apply/test_seaborn_inp"

レスポンス本文

RESTエンドポイントの結果は、イメージおよびデータを含むPythonスクリプトから返される値のJSON表現です。イメージ・バイトはPNG形式で返されます。

{
  "result": {
    "0": {
      "GROUP": "setosa",
      "IMAGE": "iVBORw0KGgoAAAAN......AAAAASUVORK5CYII=",
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1
    },
      "1": {
      "GROUP": "versicolor",
      "IMAGE": "iVBORw0KGgoAAAAN......AAAAASUVORK5CYII=",
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1
    },
      "2": {
      "GROUP": "virginica",
      "IMAGE": "iVBORw0KGgoAAAAN......AAAAASUVORK5CYII=",
      "DATA": "\"hello world\"",
      "TITLE": "Iris plot",
      "ID": 1
      }
    }
}
先頭に戻る