superset) trino 연결해서 그래프 그리기
superset에서는 pip install만 하면 db connection을 만들 수 있어요.
그런데 어떻게 추가하는지 처음에는 당황스러울 수 있어요
예상 독자는 아래와 같아요.
- superset에 connection 맺으려고, dockefile 예시 찾는 분
Superset 이 무엇인지 설명하는 이전 글은 아래 링크에 있어요
https://mightytedkim.tistory.com/191
superset에서 connection 맺기
버전마다 조금 다른 것 같은데 우측 상단의 + 버튼에 있어요
다양한 connection 을 맺을 수잇는데, dropdown으로 검색된다고 되는게 아니에요
pip install 을 통해서 PyPi 패키지를 넣어줘야해요.
그러기 위해서는 Dockerfile에 아래 명령어들을 추가해야해요
trino를 사용하려고, 제가 사용한 Dockerfile은 아래와 같아요
# Switching to root to install the required packages
USER root
# Example: installing the MySQL driver to connect to the metadata database
# if you prefer Postgres, you may want to use `psycopg2-binary` instead
#RUN pip install mysqlclient
# Example: installing a driver to connect to Redshift
# Find which driver you need based on the analytics database
# you want to connect to here:
#
https://superset.apache.org/installation.html#database-dependencies
#RUN pip install sqlalchemy-redshift
# Switching back to using the `superset` user
RUN https_proxy=http://192.219.61.252:8080 http_proxy=http://192.219.61.252:8080 pip --trusted-host pypi.org --trusted-host files.pythonhosted.org install --no-cache-dir \
install --upgrade pip
RUN https_proxy=http://192 .219.61.252:8080 http_proxy=http://192.219.61.252:8080 pip --trusted-host pypi.org --trusted-host files.pythonhosted.org install --no-cache-dir \
install sqlalchemy-trino
USER superset
빌드를 하고
284 docker build --tag deet1107/apache_superset:1.5.3-trino ./
285 docker push deet1107/apache_superset:1.5.3-trino
helm의 value.yaml을 아래처럼 수정했어요
다시 배포하고 나서 확인하면, connection이 맺어집니다
성공하면 우측 하단에 connection looks good이 나오고, 아니면 다양한 에러메시지가 나와요
테스트를 위해서 sql lab, chart를 만들어봤어요.
키바나와 비교해서는 생각보다 러닝커브가 있는 것 같아요.
쓰고 나니까 dockerflile에 커넥션 맺는 코드 한줄 추가했을 뿐이네요 ㅋㅋ