Apache Spark의 실행 상태를 시각화
Spark 시각화 도구
Spark의 실행 정보를 가시화하는 "trace-analysis"라는 툴이 Databricks의 Blog의 전서에 있는 링크 대상 로 소개되고 있었으므로 사용해 보았습니다.
준비
trace-analysis를 준비합니다. 환경은 Windows8.1을 사용합니다.
git clone https://github.com/kayousterhout/trace-analysis.git
시각화하는 Spark의 이벤트 로그는 Databricks가 공개하는 것을 사용하기로 결정했습니다. (주의 : 그대로 링크를 클릭하면 약 300MB의 텍스트가 표시되어 버리므로 오른쪽 클릭으로 저장하는 것이 좋습니다)
일반적인 환경에서는 spark.eventLog.enabled 및 spark.eventLog.dir이 적절하게 설정되면 지정된 디렉토리 아래에 "EVENT_LOG_1"의 이름으로 작성됩니다.
pdfcairo를 포함한 gnuplot 설치
pdfcairo를 포함하는 gnuplot이 필요한 것 같습니다.
그렇지 않으면 trace-analysis가 생성한 gnuplot 파일을 다시 편집하는 번거로움이 필요합니다.
귀찮아서 지금은 gnuplot을 제거하고 최신 버전을 다시 설치했습니다.
작업별로 시각화
$ python parse_logs.py 2015_03_01_bdb_sf5_48g_memory_event_log --waterfall-only
Traceback (most recent call last):
File "parse_logs.py", line 4, in <module>
import numpy
ImportError: No module named numpy
numpy가 없으면 화가 나서 numpy를 설치하고 다시 실행했는데 잘 작동했습니다.
$ python parse_logs.py 2015_03_01_bdb_sf5_48g_memory_event_log --waterfall-only
...
Job 84 has stages: [226, 227, 228]
['229: 2192 tasks', '230: 1 tasks']
Stages to combine: set([])
Job 85 has stages: [229, 230]
['232: 200 tasks', '233: 1 tasks', '231: 2192 tasks']
Stages to combine: set([])
Job 86 has stages: [232, 233, 231]
pdf 만들기
gnuplot에서 pdf를 만듭니다.
$ gnuplot 2015_03_01_bdb_sf5_48g_memory_event_log_0_waterfall.gp
(gnuplot.exe:5800): Pango-WARNING **: couldn't load font "Times Not-Rotated 220", falling back to "Sans Not-Rotated 220", expect ugly output.
오류가 발생했지만 하나의 폴더에 PDF가 만들어졌습니다.
다만, 폰트가 겹치고 있어 보기 어렵습니다.
그래서 gp 파일을 엉망으로 크기를 늘리면 훨씬 보기 쉬워졌습니다.
원하는 gp 파일의 첫 번째 줄을 다음과 같이 변경했습니다.
2015_03_01_bdb_sf5_48g_memory_event_log_0_waterfall
set terminal pdfcairo font 'Times,22' linewidth 4 rounded dashlength 2 size 5,5
#sizeを修正
set terminal pdfcairo font 'Times,22' linewidth 4 rounded dashlength 2 size 10,10
전체 실행을 시각화
parse_log.py 옵션을 --parse-as-single-job으로 변경하면 전체 실행 시간을 하나의 그래프에 표시할 수 있습니다.
다만, 사이즈를 100,100으로 해도 너무 작아 판별할 수 없는데다가, 한번의 pdf화에 30분 이상 걸리는 일도 있어 조정은 포기했습니다.
Reference
이 문제에 관하여(Apache Spark의 실행 상태를 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kuromt_/items/db056e0cca83b513f095
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Apache Spark의 실행 상태를 시각화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kuromt_/items/db056e0cca83b513f095텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)