관리 메뉴

가끔 보자, 하늘.

Apache Superset 을 Windows에 설치하기(feat. Elasticsearch driver) 본문

개발 이야기/DB, 데이터분석, AI

Apache Superset 을 Windows에 설치하기(feat. Elasticsearch driver)

가온아 2023. 9. 26. 15:53

정리하던 내용이 싹 날아가서 그냥 요점만 빨리 다시 정리합니다. ㅠ_ㅜ

윈도우는 공식적으로 지원하지 않으며 WSL과 docker를 이용해 개발용으로 설치, 테스트 할 수 있습니다. (참고 링크)

wsl
git clone https://github.com/apache/superset.git
cd superset
docker compose up # 10개의 이미지 실행.  docker-compose.yml 참고.

다양한 Data Source를 이용할 수 있는데, 각 database에 연결하려면 그에 맞는 driver를 설치해야 합니다. 설치 가능한 드라이버는 이 링크를 참고하세요.

윈도우에서는 docker를 이용해 superset을 가동하므로 드라이버들를 그냥 로컬에 설치하는게 아니고 docker 에 통합해야 합니다. 상세한 설치 방법은 이 링크를 참고하세요. 아래는 elasticsearch driver를 설치하는 절차를 예로 나열해 두었으니 참고하세요.

touch ./docker/requirements-local.txt
echo "elasticsearch-dbapi" >> ./docker/requirements-local.txt
docker-sompose build -- force-rm
dcoker-compose up

이제 superset으로 접속하여 우측 상단의 Settings 메뉴를 선택, Database Connections라는 서브 메뉴를 선택하면 Database 리스트가 있는 화면으로 전환됩니다. 화면 우측 상단의 "+ DATABASE" 버튼을 누르면 database를 선택하는 다이얼로그가 나타납니다. 

SUPPORTED DATABASES에서 Other를 선택 후 DISPLAY NAME에 원하는 이름을 입력하고 SQLALCHEMY URI에 아래와 같은 형식으로 elasticsearch 연결 정보를 입력합니다.  (user, password를 별도 설정하지 않았다면 host만 입력해도 됩니다.)

elasticsearch+http://{user}:{password}@{host}:9200/

연결이 완료되면 elasticsearch의 인덱스 하나를 하나의 테이블처럼 사용할 수 있습니다. 

이게 좀 문제긴 한데, 일일 데이터가 큰 경우 일별로 index를 생성하기 때문에 주간 데이터 분석 등에 어려움이 있을 듯 합니다. 가능한 방법이 있는지 모르겠지만 charts 에서 DATASET 선택을 할 때 index 하나만 지정가능하더군요. 

MySQL과 Elasticsearch 의 데이터의 join query를 꿈꾸며 리서치 중인데... 그런게 가능한 없고 데이터마이그레이션은 아무래도 필수처럼 보이네요. 꼭 그래야 하나... 음....

저도 처음인지라 방법이 있는지 찾아봐야 할 듯 합니다. 혹시 아시는 분 있으시면 댓글 부탁드립니다. ㅠ_ㅜ

반응형