less than 1 minute read

저는 Spark cluster에 job을 제출할 때 Apache Livy라는 프레임워크를 사용합니다. Livy는 RESTful API를 이용하여 Spark cluster에 job을 제출할 수 있게 하는 도구입니다. 다만 spark-submit을 이용하여 작업을 제출할 때와 약간의 차이점도 있는데, 일단 Spark resource manager에서 ownerlivy로 나온다던가, log를 보려면 Livy web UI를 이용하거나 API를 이용하여 받아와야만 하는 등의 차이가 있습니다.

Spark job에서 필요에 의해 작업 진행 상황을 봐야하는 경우 보통 println 등의 기본 함수를 써서 stdout으로 출력하는데요. 이 경우 spark-submit로 제출했을 때는 문제가 없지만 Livy로 제출하는 경우에는 기본 함수를 이용해서 출력한 값은 stdout log에서 확인이 되지 않습니다.

log를 제대로 출력하려면 각 언어에서 제공하는 logger class를 사용하면 되는데요. Scala의 경우에는 log4j를 이용하면 됩니다.

결론

Categories:

Updated:

Comments