타닥타닥13: Superset 설정 이모저모 본문
Superset의 chart 및 dashboard와 연동되어 있는 DB의 TABLE의 데이터가 업데이트 될 시에 chart와 dashboard를 자동으로 업데이트 하는 방법. 주기적으로 업데이트 되는 데이터들을 superset을 이용하여 보고있고, 변동되는 정보들을 지속적으로 모니터링 하고 싶다면 반드시 해야하는 설정.
제작한 dashboard를 공유하기 위한 계정설정 permissions내역. 내가 만든 chart나 dashboard를 편집은 못하지만 클릭과 필터링을 통해 dashboard를 감상?할 수 있도록 하는 권한 설정.
Superset Chart, Dashboard 자동 업데이트 및 권한 설정
목차
3. 추가 미세먼지팁: 데이터에 timestamp컬럼 추가로 Chart를 다양하게!
위의 목차를 클릭하면 해당 글로 자동 이동 합니다.
1. 자동 업데이트 - Chart 설정
- Charts 탭의 Action에서 chart 편집을 클릭 or Edit Chart Properties로 이동
- 'Configuration'에서 Cache timeout 찾기.
- 몇 초마다 업데이트 할 것인지 설정 (e.g: 15 > 15초마다 갱신)
차트별로 따로 설정을 해줘야 하는 듯 하다. 기실 일괄로 모두 업데이트를 하게 해버린다면 대쉬보드가 주기적으로 느려질 것이므로 그렇게 설정은 안하는게 맞지 싶다. 차트에 들어가는 데이터가 업데이트 되는 주기를 파악하고 해당 주기별로 잘 반영되도록 cache timeout을 설정해주는게 최적화적인 관점으로도 좋을 듯!
2. 자동 업데이트 - Dashboard 설정
- 갱신하고자 하는 Dashboard에 들어가서 EDIT DASHBOARD 버튼 옆의 ...을 클릭하여 Set auto-refresh interval을 클릭
- 다음과 같이 나온 화면에서 REFRESH FREQUENCY를 설정하고 저장
위와 같이 설정을 하게 되면 F5키로 대쉬보드를 새로고침 하지 않아도 주기적으로 대쉬보드가 갱신되며 바뀐 차트나 데이터 등으로 갱신된다. 다만, 너무 자주 바뀌게 하면 사용자 수와 데이터양에 따라서 대쉬보드가 너무 느려질 수 있으므로 갱신되야 하는 데이터들의 주기를 파악하여 적당한 주기를 설정해주자.
3. 추가 미세먼지팁: 데이터에 timestamp 컬럼 추가로 Chart를 다양하게!
Superset에는 굉장히 다양한 차트들이 있는데 이 중에는 timestamp가 반드시 있어야만 그릴 수 있는 차트들이 꽤 많다. 데이터셋에 time, day, month, year 이런 컬럼이 있다 해도 superset에서 바로 인식하지만 못하기에 timestamp column을 손수 하나 추가해줘야 한다. 좀 귀찮긴 하지만 추가해주면 이득이 굉장하니 번거롭더라도 하나 추가해보자.
이전 포스팅에서 다뤘던 데이터는 캐글에 있는 bank account fraud dataset이다.
이 데이터셋에는 month라는 컬럼만 존재해서 time dimension을 넣으려면 이 컬럼을 편집해서 timestamp로 만들어줘야 한다. 아래의 쿼리를 통해 테이블에 datetime_column이라는 이름의 timestamp 컬럼을 만들고 month컬럼을 timestamp로 인식할 수 있도록 바꿔준다.
ALTER TABLE "bank account fraud dataset"
ADD COLUMN datetime_column timestamp;
UPDATE "bank account fraud dataset"
SET datetime_column = TO_DATE(CONCAT('01-', month, '-2023'), 'DD-MM-YYYY');
이렇게 업데이트를 해주고 나서 supserset의 dataset 탭으로 가서 해당 데이터셋의 편집으로 들어가면 아래과 같은 화면을 볼 수 있다. 이 중 "COLUMNS(33)" 탭에 들어가서 "SYNC COLUMNS FROM SOURCE"를 클릭해주면 변경된 데이터셋의 정보를 알아서 갱신해준다.(참 쉽죠?)
datetime_column을 이용하여 차트를 그려보자
X-AXIS에 timestamp형태인 datetime_column을 넣으니 TIME GRAIN이라는 옵션 새로 생긴다. 이 옵션은 timestamp인 컬럼을 자동으로 초,분,시간,일,주,달,분기,년도로 구분해주어서 클릭만으로도 여러 시간축을 확인할 수 있다. 물론 여기서는 month를 timestamp로 변경해준 상태라 month를 적용한다.
timestamp를 적용하면 알아서 월별 이름으로 변형하여서 차트를 예쁘게 그려준다. 알잘딱깔센 superset.
4. Dashboard 구경용 Role Permissions 설정
- 대쉬보드를 구경만 할 수 있는 role 설정
- can read on CssTemplate, Chart, Dashboard, DashboardFilterStateRestApi, EmbeddedDashboard, Explore
- can list on DynamicPlugin (이 설정을 해줘야 볼 수 있는 차트가 존재함)
- can show on DynamicPlugin ( ’’ )
- can sqllab viz on Superset
- can sqllab table viz on Superset
- can recent activity on Superset
- can dashboard on Superset
- can fave dashboards on Superset
- can explore json on Superset
- menu access on Plugins
- schema access on “테이블명”
위의 모든 설정이 다 필요한지 않을 수는 있으나 이정도면 정말 뺄 거 다 빼고 최소한으로 권한을 준 정도.
Superset의 Chart 및 Dashboard의 자동 업데이트와 timestamp를 이용한 Chart그리기, Dashboard공유용 권한 설정 등을 정리해 보았다. superset을 사용하며 알게되는 여러가지를 계속해서 적어볼 예정이다. 왠지 추가로 적은 팁 부분이 가장 길어진 듯 하지만 기분 탓일거다...
추천글
굉장히 꼼꼼하고 전문적으로 작성된 superset 블로그
'공부' 카테고리의 다른 글
타닥타닥15: AWS EC2 Superset 설치 (0) | 2023.06.12 |
---|---|
타닥타닥14: 쇼핑몰 웹 로그 분석 (0) | 2023.06.07 |
타닥타닥12: Superset Chart 및 Dashboard 구성 (0) | 2023.05.23 |
타닥타닥11: Superset(데이터시각화 도구) 오프라인 설치 (0) | 2023.05.11 |
타닥타닥10: logloss란? (0) | 2023.05.01 |