[livy] livy 에 sessions 로 대화형 python 코드 실행 요청하기

Woong·2025년 4월 4일
0

Apache Spark

목록 보기
25/25

session 생성

  • POST /sessions
curl -X POST -i -k -u '<id>:<password>' 'https://<host>:<port>/gateway/default/livy/v1/sessions' -H "Content-Type: application/json" -d '{"kind": "pyspark"}'

HTTP/1.1 201 Created
....

{"id":14619,"appId":null,"owner":null,"proxyUser":"<id>","state":"starting","kind":"pyspark","appInfo":{"driverLogUrl":null,"sparkUiUrl":null},"log":["stdout: ","\nstderr: ","\nYARN Diagnostics: "]}

session 상태 확인

  • GET /sesstions/<session_id>/state
    • idle 면 준비 완료된 상태
curl -k -u '<id>:<password>' 'https://<host>:<port>/gateway/default/livy/v1/sessions/14619/state'

{"id":14619,"state":"idle"}

코드 제출

  • POST sessions/<session_id>/statements
    • 여기선 단순하게 body 의 code 에 python code 전달
curl -X POST -k -u '<id>:<password>' 'https://<host>:<port>/gateway/default/livy/v1/sessions/14619/statements' \
  -H "Content-Type: application/json" \
  -d '{"code": "print(\"Hello from Livy\")"}' \

{"id":0,"code":"print(\"Hello from Livy\")","state":"waiting","output":null,"progress":0.0}

statements 조회하여 실행 상태, 결과 확인

  • GET sessions/<session_id>/statements/<statement_id>
curl -k -u '<id>:<password>' 'https://<host>:<port>/gateway/default/livy/v1/sessions/14619/statements/0' 


{"id":0,"code":"print(\"Hello from Livy\")","state":"available","output":{"status":"ok","execution_count":0,"data":{"text/plain":"Hello from Livy"}},"progress":1.0}

0개의 댓글

관련 채용 정보