본 블로그 포스트에서는 Kibana와 파이썬을 함께 사용하여 항공편 예약 데이터를 시각화하는 방법을 알아보겠습니다.
1. Kibana 소개
Kibana는 Elastic Stack의 일부인 데이터 시각화 도구입니다. 이 도구를 사용하면 로그 데이터, 시계열 데이터 등 다양한 데이터를 시각적으로 분석할 수 있습니다.
2. 데이터 수집 및 준비
시각화할 항공편 예약 데이터를 수집하고 파이썬으로 처리해야 합니다. 예를 들어, 웹 스크래핑을 통해 항공사 웹사이트에서 예약 데이터를 수집하거나, 데이터베이스에서 데이터를 추출할 수 있습니다. 이후, 파이썬을 사용하여 데이터를 가공하고 필요한 형식으로 변환합니다.
import pandas as pd
# 예약 데이터를 CSV 파일로 저장한 경우
data = pd.read_csv('reservations.csv')
3. Elasticsearch에 데이터 적재
데이터를 Elasticsearch에 적재해야 합니다. Elasticsearch는 Kibana와 연동하여 데이터를 시각화할 수 있도록 도와줍니다. 파이썬에서 Elasticsearch에 데이터를 적재하는 방법은 여러 가지가 있지만, Elasticsearch Python 클라이언트를 사용하는 것이 가장 일반적입니다.
from elasticsearch import Elasticsearch
# Elasticsearch 호스트 설정
es = Elasticsearch(['localhost'])
# 데이터 적재
for index, row in data.iterrows():
es.index(index='reservations', doc_type='reservation', body=row)
4. Kibana에서 시각화 구성
Kibana에 접속하여 항공편 예약 데이터를 시각화하는 대시보드를 구성합니다. Kibana는 다양한 시각화 도구를 제공하며, 사용자가 원하는 형태로 데이터를 시각화할 수 있습니다.
예를 들어, 파이썬 데이터로부터 항공편 예약 데이터의 시간대별 예약 수를 시각화하는 차트를 생성하는 방법은 다음과 같습니다:
- Kibana 대시보드를 생성하고, “예약 수 대비 시간대”와 같은 제목을 지정합니다.
- 데이터 시각화 차트 설정을 위해 “새로운 시각화” 버튼을 클릭합니다.
- 데이터 소스로 Elasticsearch를 선택하고, “필터”를 사용하여 예약 데이터만 선택합니다.
- X축에는 예약 시간을, Y축에는 예약 수를 설정합니다.
- 차트 타입으로 막대 그래프나 선 그래프를 선택하고, 필요에 따라 스타일을 변경합니다.
5. 결과
Kibana를 통해 구성한 대시보드에서 항공편 예약 데이터를 시각화할 수 있습니다. 예약 수 대비 시간대 차트를 통해 예약이 가장 많이 이루어진 시간대를 확인할 수 있으며, 다른 필터링 옵션을 사용하여 예약 데이터를 계속해서 분석할 수도 있습니다.
#데이터시각화 #파이썬 #Kibana