끄적끄적 코딩
article thumbnail

Zeppelin(제플린)이란?

제플린은 웹 기반 notebook이며 시각화 tool입니다.


웹 기반 notebook이란

Web에 코드를 작성-실행-결과확인-코드수정을 반복하면서 원하는 결과를 만들어 낼수있는 작업환경


notebook이란

note와 paragraph로 구성되는데 note는 하나의 프로젝트를 의미하고, paragraph는 하나의 코드를 의미
하나의 note에 여러 paragraph가 존재하며, 같은 interpreter를 사용하는 paragraph는 Context 공유가 가능합니다.


등장 배경

데이터 분석 업무 특성상 여러가지 알고리즘과 파라미터를 바꿔가면서 분석 결과를 반복해서 그래프나 테이블 같은 형태로 시각화해서 확인해야하는데 커맨드라인은 불편함
Spark를 통한 데이터 분석의 불편함을 Web기반의 Notebook을 통해서 해결해보고자 만들어진 애플리케이션


기존의 Workflow 
- 다양한 제품을 조합하여 데이터 분석을 하는 것이 일반적 
- 많은 엔지니어링이 필요
- 다방면에 경험 많은 분석가들 혹은 팀의 전유물 
- 파이프라인이 복잡하기에, 고장나기 쉽고 유지보수 어려움



새로운 Workflow 
- 데이터 정제, 처리, 요약 데이터 시각화, 고급 분석까지 전부 Spark와 Zeppelin으로 해결



특징

- Apache Spark를 기본으로 탑재
- python, scala등의 언어로 분석 코드를 짤 수 있음
- Livy, Cassandra, Lens, SQL 등의 다른 데이터 분석도구나 DB에 접근하여 쿼리하는것을 쉽게할 수 있는 확장 기능 지원 - Zeppelin 하나로 각각의 시스템의 각 요소에 자유롭게 접근하여 데이터를 다룰 수 있음
- 협업을 할 수도 있는 도구
- 대화형으로 쿼리 사용, 코드를 짤 수 있고 결과를 다양하게 여러가지 차트나 파이차트 테이블로도 볼 수 있음 
- HTML을 표현 가능하므로, 테이블에 이미지를 표시하거나, link를 넣거나 하는 등의 동작이 가능하다.


확장성

제플린의 확장성은 Interpreter라는 플러그인 구조로 지원
각 Interpreter들은 Zeppelin의 Web Interface를 통해서 입력받은 분석 코드를 local 또는 원격에서 실행 가능
Zeppelin자체가 데이터 분석 처리를 하지 않기 때문에 분석 시스템이나 데이터베이스 등이 미리 구성되어 있어야 함
Zeppelin과 이들 시스템을 연결해주는 작업을 해야 한다는 어려움 존재

'Apache Zeppelin' 카테고리의 다른 글

[Apache Zeppelin] UI 익히기  (0) 2020.09.23
[Apache Zeppelin] 제플린 사용해보기  (1) 2020.09.22
[Apache Zeppelin] 제플린 시작하기  (0) 2020.09.19

검색 태그