1 분 소요

 안녕하세요 마개입니다.
앞에서 설치한 Druid와 Superset을 연동하는 방법에 대해 알아보겠습니다. 앞에서는 virtualenv를 이용해서 Superset을 시작했었는데 중지시키고 진행합니다.


image


Druid 데이터베이스 드라이버 설치

Superset에서 데이터베이스 connection을 만들기 위해서 드라이버를 설치해야 합니다.
공식 홈페이지 가이드는 링크에서 확인 가능합니다.


이를 보면 Druid의 경우 파이썬의 pydruid 패키지를 설치해야 합니다.

1
pip install pydruid

image


설치가 완료되면 다시 Superset을 시작합니다.

1
superset run -p 8080 --with-threads --reload --debugger

image



Druid 데이터베이스 생성

Superset 페이지를 실행시킵니다.


image

실행시키면 상단 메뉴 중에 [Sources] - [Databases]을 클릭합니다.


image

우측 상단의 ’+’ 버튼을 클릭하여 새로운 Database를 연결합니다.


image

Database 정보를 입력하는 창이 뜨는데 위의 두 군데를 작성합니다.

  • Database : 데이터베이스 명
  • SQLAlchemy URI : druid://[Druid가 설치된 IP]:[Druid가 설치된 포트]/druid/v2/sql/

작성을 하고 하단의 TEST CONNECTION을 클릭하여 연결 테스트합니다.


image

위와 같이 성공적으로 연결이 되면 확인 버튼을 클릭하고 맨 아래에 SAVE 버튼을 클릭합니다.


image

그러면 위와 같이 우리가 만든 Druid 데이터베이스가 생성된 것을 확인하실 수 있습니다.



시각화 만들어보기

이번에는 연결된 Druid 데이터베이스에 있는 정보를 가져와서 간단한 시각화를 만들어보겠습니다.


image

상단 메뉴에 있는 [Sources] - [Tables]를 눌러 메뉴로 이동합니다.


image

우측 상단에 있는 ’+’ 버튼을 클릭해서 테이블을 추가합니다.


image

테이블을 정의해서 추가할 수 있는데 Database에는 위에서 추가한 druid를 선택하고 Table Name에는 원하는 테이블명을 작성합니다. 이전 예제에서 wikipedia라고 만든 datasource가 있기 때문에 해당 datasource를 불러오겠습니다. 작성하고 SAVE 버튼을 클릭합니다.


image

그러면 새로운 테이블이 하나 추가된 것을 보실 수 있습니다.
wikipedia 를 눌러서 시각화를 하나 만들겠습니다.


image

wikipedia를 누르면 위와 같이 나옵니다.
그냥 제일 평범하게 데이터들을 테이블 형태로 보여주는 것을 해보겠습니다.


image

좌측 메뉴에 [Query] 부분에서 Query ModeRAW RECORDS로 변경합니다. 그러면 아래에 Columns를 선택할 수 있는데 여기서는 channel, user, countryIsoCode, countryName 4개를 추가해보았습니다.


image

그 위에 Time Range에는 클릭하여 No filter로 변경합니다. 변경한 후에는 RUN QUERY로 실행시킵니다.


image

그러면 위와 같이 결과가 나오는 것을 확인하실 수 있습니다.
이제 좌측 상단에 SAVE 버튼을 클릭하여 저장하도록 하겠습니다.


image

Save as에는 Chart명을 입력하고 아래에는 dashboard에 해당 Chart를 추가할지 묻는 것입니다. 추가하고자 하면 해당 부분에 dashboard를 선택하고 하단의 SAVE 버튼을 클릭합니다.



위와 같은 방법을 이용해서 Superset에 Druid 데이터를 연결해서 시각화까지 진행해보았습니다.