코알못

[Zeppelin] 설치 하고 이용해보자! 본문

BIG DATA

[Zeppelin] 설치 하고 이용해보자!

코린이s 2022. 3. 7. 15:30
728x90

zeppelin 은 Apache 에서 만든 web 기반 notebook 으로 CLI 환경에서 분석시 불편함을 해소해준다.

Zeppelin 을 이용하기 위해 아래 실습을 진행할 예정이며 이번 시간에는 일부만 진행하고 그외 실습은 따로 글 생성하여 링크를 걸어둘 예정이니 참고 하면 된다. 

  • 대시 보드 기능 (노트 하나가 대시보드 개념으로 아래 설명)
  • 스케쥴링 기능
  • 노트, URL, interpreter(DB 등) 별 권한 설정 기능
  • 공유 기능(URL, CSV, TSV 형태로 공유 가능하며 아래 설명)
  • 협업 기능 (라이브 코딩 가능 아래 설명, 노트 버전 관리 기능)
  • ldap 연동
  • Interpreter 추가
  • 자체적으로 지원하는 기능은 아니지만 경고/결과 알람 발송 

이번 시간은 '대시보드, 공유, 라이브 코딩 테스트' 실습을 진행해본다.

하둡 ecosystem의 종류중 하나로 만들어졌기에 HDP(Hortonworks Data Platform) 패키지 안에 zeppelin 이 포함되어 있으며

EMR 구성시에도 zeppelin 선택하여 쉽게 설치 가능하다.  

저자는 EMR 구성시 zeppelin 을 선택하여 설치하도록 한다.

 구성이 완료 되었다.

zeppelin 의 경우에는 8890 포트로 구성되어 있으며 masterIp:8890 으로 접속해보면 아래와 같은 초기 화면이 나온다.

create new note 를 눌러 노트를 생성 한다.

원하는 노트 이름을 기재하고 아래 기본 interperter를 선택한다. 다른 언어를 사용하고 싶다면 interperter 를 추가할 수 있으며

지금은 테스트만 간단하게 하기위해 select box 안에 있는 interpeter인 spark 를 선택한다. 

default interpreter 으로 spark 를 선택 하면 interpreter 선언 없이 spark 언어 사용 가능하며

아래와 같이 언제든지 변경 하여 이용할 수 있다.

  • %md : 마크다운
  • %python : 파이썬 사용
  • %spark : 스파크
  • %sql : sql 문법 사용

마크 다운을 쓰고 싶을시 아래와 같이 입력하고 shift+enter 을 누르면

아래와 같이 정상적으로 나온다.

파이썬을 사용하고 싶을시 아래와 같이 입력 한다.

그다음 sql 문법을 이용해 스파크에서 데이터를 가져온다.

결과 데이터는 아래와 같이 시각화가 가능하다.

// bar chart 

// pie chart

// area chart

// line chart

//scatter chart

또한 CSV, TSV  두가지 형식으로 다운로드 하여 공유 가능하며

// 다운로드

// csv file(쉼표로 구분된 데이터 형식), tsv(탭으로 구분된 데이터 형식) file

그리고 단락 마다 아래와 같은 버튼이 있다.

  1. 단락 실행
  2. 단락 코드 부분 show/hide
  3. 단락 결과 부분 show/hide
  4. 설정

설정 기능은 아래 정리 표를 참고한다.

기능 설명
width 단락 넓이 제어 (1~12)
font size 단락 폰트 사이즈 변경
move up 해당 단락 위로 이동
move down 해당 단락 아래와 이동
insert new 단락 추가
run all above 해당 단락 위 모든 단락 실행 (해당 단락 미포함)
run all below 해당 단락 아래 모든 단락 실행 (해당 단락 포함)
clone paragraph 해당 단락 복사
show title 해당 단락 해당하는 타이틀 삽입
show line numbers 해당 단락에 줄 번호 삽입
disable run 해당 단락 실행 버튼 비활성화 
like this paragraph 웹 링크로 해당 단락 결과 공유 (실시간으로 그래프 변경시 반영됨)
clear output 해당 단락 결과 지우기
remove 해당 단락 지우기

해당 설정을 가지고 대시보드로 만들어 보면 아래와 같다. 

해당 대시보드는 URL 로 외부 공유가 가능하며 변경 사항을 실시간으로 반영되어 보여진다.

실시간으로 입력 되는 부분도 실시간으로 공유가 되어 라이브 코딩으로 협업도 가능하다.

끝!

728x90
Comments