본문 바로가기

엘라스틱서치 & 키바나

문과생도 가능한 엘라스틱서치 & 키바나 사용 입문기 #2

반응형

들어가며

 

문과생도 가능한 엘라스틱서치 & 키바나 사용 입문기 #1 에서 환경설정까지의 세팅을 알아보았다.
이제 데이터를 이용해 대시보드를 만드는 과정을 진행해보자.

대시보드를 만들기 위해 예제 데이터는 캐글에 올라가 있는 타이타닉 train 데이터를 사용했다.

 

데이터 업로드하기

엘라스틱서치에 데이터 연결을 위한 방식

 

나는 Upload a file 방식을 통해 csv 파일을 업로드 했다.

 

문서 선택 혹은 드래그 앤 드랍방식

 

올리는 과정은 안내에 따라 쭉쭉 진행하면 된다.

너무 간단해서 TMI 같은 설명이 될 것 같아 업로드는 이정도로 줄인다.
나의 목표는 대시보드 만들기니깐.

 

대시보드 만들기

 

 

좌측 상단 메뉴바 목록 중 Dashboard를 클릭한다.

 

 

 

Create dashboard 클릭한다.

 

 

황량한 빈 대시보드 공간이 나타난다.

이번 포스팅에서는 이 빈공간을 아래와 같이 만들어보기로 하자.

 

히스토그램 만들기

Create Visualization을 누르면 가장 기본이 되는 화면이 뜬다.

가장 먼저 만들어 볼 것은 연령대별 탑승 인원 수의 히스토그램이다. 가로축은 나이, 세로축은 카운팅 숫자이다.

 

다양한 유형의 그래프방식을 제공한다.

여기서 Bar vertical 을 선택한다.

 

좌측에는 데이터 컬럼이 보여지고, 드래그 앤 드랍방식으로 그래프를 그릴 수 있다.

Horizontal axis 즉, 가로축은 Age 컬럼을 드래그 앤 드랍하면

추가된 레코드값

레코드값이 자동으로 추가된다.

Count of records를 클릭하면 아래와 같이 구성된 것을 확인할 수 있다.

 

Vertical axis configuration

평균, 카운트, 최대값, 최소값, 중위값, 유니크 카운트, 합계, 퍼센트 등의 여러 유형을 필요에 맞게 쓴다.

여기서는 히스토그램은 카운트가 적절하기 때문에 Count로 설정한다.

Display name : 축 이름
Value format 은 아래와 같은 4가지 유형을 지원한다. 자신이 원하는 형태로 하자. 난 Default 로 했다.

Series color : 그래프의 색깔을 지정할 수 있다. 적절한 색깔을 고르자. (색깔 고르는게 은근히 어려운 일이다)

Axis side : 축의 위치 지정

 

horizontal axis configuration

x축에서 Intervals 를 클릭해 Age 값의 간격을 조절 할 수 있다. Create custom ranges 를 통해 커스텀 할 수 도 있는데 여기선 다루지 않겠다.
위와 같이 지정한다.

저장방법

이렇게 만들어진 그래프는 크게 두가지 저장방법을 통해 대시보드 위에 남길 수 있다.
라이브러리 저장방식그렇지 않은 방식  이다.


라이브러리 저장방식을 사용하면 사용한 각 축별 컬럼, 디자인 등의 포맷을 저장하는 것이다.
여러번 쓰이는 데이터시각화 유형에서 활용도가 높다. 매번 다시 지정하는 것이 아니라 포맷을 가져오기만 하면 되니깐.

 

반면 그렇지 않은 방식은 이렇게 만든 그래프를 이번 대시보드에 한해서만 사용하는 것이다.
너무 많이 라이브러리화 해 저장하면, 라이브러리 폴더가 지저분해질테니, 적절히 사용하는 것이 중요해 보인다.

Lens 시각화 저장

 

해당 라이브러리 이름과 설명을 추가한다.

 

복수의 메트릭 값 만들기

하나의 패널에 복수의 시각화 값을 넣으려고 한다.

타이타닉 데이터에서 Survived 컬럼 내에 생존자를 1 사망자를 0으로 표시한다.

 

All types- Aggregation based - Metric 으로 들어온다.
어떤 데이터를 사용할 것인지 물어보는데, 저장한 타이타닉 데이터를 사용하자.

총 관측치 891개가 기본으로 뜬다

 

메트릭 카운트 아래 세부항목을 클릭해 아래와 같이 세팅한다.

Aggregation 의 경우는 Sum Bucket 을 하고 버킷 내 Aggregation 유형을 Filters 로 한다.

생존자의 숫자만을 표시하기 위해 Survived : 1 로 지정함으로써 1값인 데이터들의 수만 합하는 것이다.

Custom label  항목에서 생존자 수 로 라벨이름을 수정하고 업데이트를 한다.

숫자가 342로 바뀌었다.

 

패널에 생존자 수가 표시됐다

우리는 복수의 메트릭값을 넣으려고 한다.

 

따라서 Metrics 내 Add를 통해 하나를 더 생성하는 것이다.

 

방식은 앞선 것과 똑같다. 오직 다른 것 하나는 우리는 생존자와 사망자 수를 동시에 보기 위함이므로 Filter 내
Survived : 0 으로 해주는 것뿐이다.

 

Save and Return을 누르면 다음과 같이

복수의 매트릭이 하나의 패널 안에 들어간채로 대시보드가 업데이트 된 것을 확인할 수 있다.

 

 

클래스별 생존여부 막대그래프 만들기

타이타닉 데이터를 다루어본 경험을 통해 우리는 표의 클래스(1,2,3등석)에 따라 생존자의 수가 차이 나는 것을 알고 있다. 클래스별로 생존자와 사망자 수의 빈도를 보려고 한다.

 

처음 히스토그램과 마찬가지로 Bar Vertical로 시각화 유형을 고르고,

x축에는 생존여부를 나타내는 Survived 컬럼, y축에는 그 숫자를 나타내는 records를 넣는다.

Break down by는 흔히아는 Group by 의 기능이다. 생존여부의 숫자를 Break down 유형에 따라 나누어 집계해준다.

 

컨트롤패널 만들기

 

컨트롤패널은 대시보드를 보는 이가 값을 조절해 데이터를 쪼개어 볼 수 있는 기능을 제공합니다.

 

All types - Controls 를 통해 만들면 콘트롤 패널의 유형을 2가지 중 고를 수 있다.

Range Slider와 Options list 인데,
이산형변수는 Range Sliderr로 조절하고 명목형변수는 Options list로 조절하는게 적절해보인다.

표등급 컨트롤 생성
성별 컨트롤 생성
생성된 2개의 컨트롤
컨트롤 패널을 통해 값 설정해보기

표등급을 3등급, 성별은 남성으로 선택한 후 Apply changes를 하면, 다른 3개의 패널 값들이 다르게 바뀐다.
대시보드를 보는 사람의 입맛에 맞게 데이터를 볼 수 있는 장점이 있다.

사이즈 및 위치조절

 

각 패널별 사이즈와 위치를 잘 조절해 이쁘게 만든다.

이건 디자인의 영역에 가깝다.

 

마무리하며

엘라스틱서치와 키바나를 활용해 데이터를 다루는 것의 장점은 거의 실시간에 가까운 데이터를 업데이트 받고 시각화가 가능하다는 점이다.

즉 시계열데이터가 들어오면 대시보드에 반영돼 업데이트된다.

기회가 된다면, 다음 포스팅은 시계열 데이터를 다루어보고 싶다.

지금까지의 기능은 단순해, 아이디어 따라 더욱 다양한 대시보드를 구축할 수 있을 것으로 보인다.

여러번 만지다보면 더 능숙해지지 않을까 싶다.

그럼에도 대시보드를 만들고 활용함에 있어 가장 중요한 것은 어떤 지표를 어떻게 보여줄지에 대한 지표 선정과 시각화 방식이라고 생각한다.

반응형