グループ化データに対するPython関数の実行
post
/py-scripts/v1/group-apply/{scriptName}
列値でグループ化されたデータに対してユーザー所有のPython関数を実行します。
リクエスト
パス・パラメータ
- scriptName(必須):
Pythonスクリプトの名前
レスポンス
200レスポンス
デフォルトでは、ジョブの結果を返します。
201レスポンス
400レスポンス
無効なパラメータが指定され、出力がサイズ制限を超えているか、他のスクリプト実行エラーが発生しました。
500レスポンス
ブローカへの接続中、ジョブの実行中に問題が発生したか、または他の予期しないエラーが発生しました。
例
例1: 同期の例
次の例では、group_count
というスクリプトを実行します。この例では、parallelFlag
をtrue
に設定してデータベースの並列性を利用します。
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
}
}
}