2 분 소요

 안녕하세요 마개입니다.
설치가 완료되었다면 공식 홈페이지에서 제공하는 기본 예제를 따라해보겠습니다.


Druid



Data 올리기

Docker 버전이 아니라 Druid를 다운로드해서 설치하면 apache-druid-0.20.0 디렉터리가 있습니다. (버전은 다를 수 있습니다.) 해당 디렉터리에 quickstart/tutorial 디렉터리로 가면 wikiticker-2015-09-12-sampled.json.gz 이름을 가진 파일이 있는 것을 확인하실 수 있습니다. 이를 콘솔에서 올려보겠습니다.


image

콘솔로 접속해서 좌측 상단에 있는 Load data를 클릭합니다.


image

그러면 나오는 화면에서 좌측 Start a new spec을 클릭합니다.


image

위와 같이 Kafka, Kinesis, S3 등 다양하게 데이터를 올릴 수 있는데 예제는 로컬 데이터이기 때문에 Local disk를 클릭하고 우측에 Connect data를 클릭합니다.


image

그러면 위와 같이 나오는데 오른쪽 사이드바 (빨간색 박스)에 내용을 작성합니다.

  • Source type : local
  • Base directory : [tutorial이 있는 경로]
  • File filter : wikiticker-2015-09-12-sampled.json.gz

작성하고 Apply를 클릭합니다.


image

위와 같이 raw 데이터가 나온 것을 확인할 수 있습니다. 다음으로 우측 하단에 Next: Parse data를 클릭합니다.



Data 파싱

Next: Parse data를 클릭하면 자동으로 파싱이 진행됩니다.


image

예제의 데이터가 JSON 파일이기 때문에 JSON 형태에 맞춰서 자동으로 column과 해당 값이 생성됩니다. 데이터가 JSON 파일이 아니면 우측에 Input format을 변경하고 Apply 버튼을 클릭하여 적용해줍니다. 데이터가 이상 없이 잘 나오면 우측 하단에 Next: Parse time을 클릭합니다.



Time 파싱

이번에는 시간 데이터를 파싱하는 부분입니다. 이전에 설명드렸던 것처럼 Druid는 시계열 데이터를 이용하기 때문에 시간 데이터를 설정해줘야 합니다. Next: Parse time을 눌러 결과를 봅시다.


image

이전과 달라진 점은 데이터가 나타난 곳에 맨 왼쪽에 __time 칼럼이 생성된 것을 확인할 수 있습니다. 그리고 아래에 from: 'time'이라고 쓰여있는 것을 볼 수 있는데 이는 기존 데이터 중에 ‘time’ 칼럼을 __time 칼럼으로 시간 데이터를 이용하겠다는 뜻입니다. 자동으로 파싱이 되었지만 변경을 하고 싶다면 우측에 ColumnFormat을 변경하고 Apply 버튼을 클릭합니다.

모두 완료되면 우측 하단에 Next: Transform을 클릭합니다.



Transform


image

Transform 작업을 할 것이 있다면 진행합니다. 예제에서는 없기 때문에 우측 하단에 Next: Filter를 클릭합니다.



Filter


image

Filter 단계에서도 작업할 것이 있으면 진행하지만 해당 예제에서는 생략하고 Next: Configure schema를 클릭합니다.



Configure schema

각 칼럼에 대해 type을 지정하는 단계입니다.


image

Druid에서는 칼럼에 대한 type을 지정해 줘야 하는데 위와 같이 각 칼럼을 보고 자동으로 type을 지정해 줍니다. 각 칼럼에 모두 지정이 되었는지 확인하고 우측 하단에 Next: Partition을 클릭합니다.



Partition

데이터를 어떠한 기준으로 나눌 것인지 처리하는 부분입니다.


image

여기에서는 Segment라는 개념이 나오는데 Segment는 해당 Partition 작업을 거쳐 나오는 블록(?)이라고 보면 될 것 같습니다. 해당 Segment granularityDAY로 설정하면 시간 데이터가 날짜 기준으로 Segment가 나눠집니다. 우측 하단 Next: Tune을 클릭합니다.



Tune


image

튜닝을 하는 부분인데 해당 부분은 생략하고 Next: Publish를 클릭합니다.



Publish

퍼블리싱을 하는 작업입니다.


image

좌측에 Datasource namewikipedia로 변경하고 Next: Edit spec을 클릭합니다.



Edit

마지막으로 확인하는 부분입니다.


image

해당 부분이 문제가 없다면 우측 하단 Submit 버튼을 클릭합니다.



확인


image

완료되면 Ingestion 뷰에 Tasks에 생성된 것을 확인하실 수 있습니다.



Query 실행

이렇게 만들어진 데이터를 Query를 통해 결과를 확인해보겠습니다.


image

상단 메뉴에 Datasources를 클릭하면 우리가 만들었던 wikipedia Datasource가 있는 것을 확인할 수 있습니다.


image

우측으로 넘어가면 Actions 부분에 드라이버 모양을 클릭하고 Query with SQL을 클릭합니다.


image

그러면 Query창으로 넘어오면서 데이터가 나오는 것을 확인하실 수 있습니다.