SAMSUNG OPEN SOURCE CONFERENCE 2019
Elastic Stack과공공데이터를활용한서울시 지하철대시보드만들기
Elastic ㅣ Tech Evangelist ㅣ김종민2019-10-17
SOSCON 2019발표자 소개
Elasticsearch 한국커뮤니티를만들었고
Elastic 의첫번째한국직원입니다
SAMSUNG OPEN SOURCE CONFERENCE 2019
SOSCON 2019
Elastic?
Elastic 은검색엔진회사입니다
SAMSUNG OPEN SOURCE CONFERENCE 2019
SOSCON 2019
Elastic?
Elastic 은검색엔진회사입니다
SAMSUNG OPEN SOURCE CONFERENCE 2019
SOSCON 2019
Elastic?
검색엔진은생각보다많은쓰임새가있습니다.
SOSCON 2019
일반적으로컨퍼런스에서솔루션소개등은선호하지않습니다.서비스기업의운영중문제해결사례등을선호합니다.
Tech 기업의 딜레마 …
SOSCON 2019
어디선가발표를하려면스토리, 멋진데모가있어야합니다.
Tech 기업의 딜레마 …
Elastic 은 도구를 만드는곳이지 서비스 기업 아니기때문에 데이터를 직접구해야 합니다.
그래서 스토리를만들려면항상 골치가 아픕니다.
종종 이런 곳을 기웃거리게됩니다.
SOSCON 2019
Elastic 을 알리기 위해 있는 행사 없는 행사다 찾아다니던중
이상한 모임 이라는 온라인 커뮤니티에서온라인으로하는 이상한 컨퍼런스에서발표를 하게 됩니다
Elasticsearch 와 Kibana 로 서울시 지하철대시보드 만들기를 소개
상당한 호평을 받았습니다
2015년 10월, 아직 Elastic 이 많이 알려지지 않았을무렵
SOSCON 2019
Elastic 에 대한 관심은 점점 높아지고있었는데,당시 소개 된 자료가 많지 않아 이 데모가 널리유용하게 씌였습니다.
공식 홈페이지에도블로그로업로드 되었습니다.
발표 이후로도
SOSCON 2019한번은 이런 적도…
어떤 초보 개발자분이인턴 기간 중에 Elastic – Kibana 서울 지하철 대시보드만들기 데모를보고회사에서 이 내용으로 발표를 해서 나중에 정직원으로취업이 되었다는 감사 메일도받았습니다.
SOSCON 2019
이데모는여러행사에서단골예제로쓰이게됩니다.
사실 이 이상 잘 되어 있는데이터셋을 찾기도 쉽지않았습니다.
우리 생활에 밀접하게 관련되어 있는 데이터라 설명하기도 쉬웠습니다.
그 이후로도 오랬동안
SOSCON 2019
Elastic 은계속새버전이나왔고, 새로운데이터도계속나왔습니다.
처음 데모 만들 때가 2.4현재는 7.4 버전 까지나왔습니다.
지하철 데이터셋도계속 업데이트되었습니다.
- ~2018 년 데이터 까지
- 역명 다국어 정보
- 지하철 역 위치정보
시간은 흘러
SOSCON 2019
https://github.com/eskrug/elastic-demos
전체 과정
위의깃헙리파지토리에자세히설명하고있습니다
유튜브비디오도있습니다
SOSCON 2019
1. 서울시역코드로지하철역위치조회
전철역코드, 전철역명, 호선, 위도, 경도 값 등을 포함하고있습니다.
활용 데이터셋 - https://data.seoul.go.kr
json 형태의 값을 내려받아사용합니다.
SOSCON 2019
2. 서울교통공사지하철역명다국어표기정보
지하철 역명의 한글, 한자, 영문, 중국어, 일본어를 포함하고 있습니다.
활용 데이터셋 - https://data.seoul.go.kr
json 형태의 값을 내려받아사용합니다.
SOSCON 2019
3. 서울교통공사연도별일별시간대별역별승하차인원
년도별 일별 시간대별 역별 승하차 인원을 excel, csv 형태로 제공합니다.
활용 데이터셋 - https://data.seoul.go.kr
SOSCON 2019
1. 위치데이터와다국어데이터조합 -> 메타정보데이터생성
데이터셋 조합
• “역명” 을 기준으로 병합합니다.
• 역명이 달라서 병합이 되지 않는 건 들은 동일한 역명으로 맞추어 주어야 합니다
SOSCON 2019
1. 위치데이터와다국어데이터조합 -> 메타정보데이터생성
데이터셋 조합
• 위/경도 정보가 있는 위치정보 파일을 기준으로 루프를 돌며 병합합니다.
• 다국어 정보가 없는 경우 한글 정보만 남겨둡니다
SOSCON 2019
2. 로그데이터시간대별로분리 + 메타정보와병합
데이터셋 조합
• 05~06, 06~07, 시간대별로 되어 있는 열을 행으로 분리
SOSCON 2019
앞의세종류의데이터셋을조합해서다음과같은형태의데이터를얻습니다.
데이터셋 조합
SOSCON 2019
Logstash를이용해서데이터를 Elasticsearch 로색인합니다
데이터 색인
SOSCON 2019
Metric : 전체승하차인원수
Kibana 대시보드
SOSCON 2019
Time Series Visualization : 시간대별승하차인원
Kibana 대시보드
SOSCON 2019
Bar Chart : 호선별승하차인원
Kibana 대시보드
SOSCON 2019
Tag Cloud : 역별승하차인원
Kibana 대시보드
SOSCON 2019
Pie Chart : 승하차인원수비율
Kibana 대시보드
SOSCON 2019
Map : 승하차인원위치
Kibana 대시보드
SOSCON 20191차 Kibana 대시보드
SOSCON 2019
Heat Map : 요일별시간대별승하차인원수
더 추가 해 보고 싶은 데이터
• 요일
• 시각
@timestamp?
SOSCON 2019
1. Scripted Field 사용
@timestamp 로 부터 요일, 시각 정보 추가
• 동적으로추가 가능
• 메모리 소모가 많음
SOSCON 2019
2. 데이터색인시요일, 시각필드별도로추가
@timestamp 로 부터 요일, 시각 정보 추가
• 재색인 필요
• 가벼움
• 더욱 다양한
쿼리 가능
SOSCON 2019
최종데이터형태
@timestamp 로 부터 요일, 시각 정보 추가
SOSCON 20192차 Kibana 대시보드
SOSCON 2019
https://ela.st/cloud-krUsername : guestPassword : thssla (손님)
실제로 접속해서 보시겠습니다
SOSCON 2019대시보드 분석
1주일단위집계
• 평일 : 아침 저녁
• 주말 : 낮
SOSCON 2019대시보드 분석
평일오전
• 승차인원 :
신림, 잠실, 사당…
• 하차인원 :
강남, 종로3가, 서울역…
SOSCON 2019대시보드 분석
평일오후
• 승차인원 :
강남, 잠실, 종로3가…
• 하차인원 :
잠실, 신림, 홍대입구…
SOSCON 2019대시보드 분석
역삼, 선릉, 삼성역으로검색
• 오전 : 하차인원
• 오후 : 승차인원
SOSCON 2019대시보드 분석
명절기간검색
• 고속터미널, 홍대입구,
서울역, 잠실
SOSCON 2019대시보드 분석
여의도에서승하차인원합 : 12,000 ~ 20,000
SOSCON 2019SAMSUNG OPEN SOURCE CONFERENCE 2019
감사합니다Thank you
Elastic 부스에서더많은데모와정보들을제공하고있습니다. 추가적인질문은 Elastic 부스에오셔서해주시면감사드리겠습니다.