예제 및 참고자료
환경구축
app.py
flask 모듈을 사용하여 서버로 restful API 요청하는 역할을 함
server.py
cherrypy 모듈을 사용하여 WSGI구성 및 engine(SparkContext) 및 app(flask) 초기화를 해준다.
engine.py
pyspark(mllib) 모듈을 사용하여 영화 추천에 관한 로직을 수행한다.
deploy
-
파일 정보
- virtualEnv 실행
. ~/path/bin/activate
-
spark clutesr 실행
- server.py에게 submit
$SPARK_HOME/bin/spark-submit –master spark://127.0.0.1:7077 server.py
Restful request
- 유저(user_id=3)에게 평점이 높은 순으로 5개의 영화 추천
http://host:port/3/ratings/top/5
- 실행시간은 7.7초 소요
- 유저(user_id=3)에게 해당 영화의 평점(movie_id=100)을 알려준다.
http://host:port/3/ratings/100
- 실행시간은 2.5초정 소요
- 영화(movie_id)에 대한 ratings을 추가한다.
curl -d @/path/user_ratings.json -X POST host:port/3/ratings