Apache Superset

[Superset] Dashboard Native Filters 활성화

비번변경 2024. 1. 10. 15:49

개요

Superset은 1.3 버전부터 Dashboard 수준의 Filter 기능을 지원하고 있다.

그러나 Superset 설정 파일을 변경하다 보니, 활성화되어 있던 Filter 기능이 표시되지 않게 되었다.

어떻게 하면 대시보드 필터를 다시 확인할 수 있는지 적어둔다. 

Superset 버전은 3.0.1이다.

 

 

FEATURE_FLAGS

superset은 어떠한 기능의 활성화 여부를 config.py의 DEFAULT_FEATURE_FLAGS로 설정하고 있다. DEFAULT_FEATURE_FLAGS는 기능의 이름을 key로 하고, 활성화 여부를 나타내는 bool 데이터를 value로 하는 딕셔너리로, https://github.com/apache/superset/blob/master/superset/config.py#L404에서 기본값을 확인할 수 있다.

만약 기능 활성화 여부를 지정하고 싶다면 superset_config.py에서 FEATURE_FLAGS를 별도로 정의하면 된다.

 

현재 superset에서 제공하는 FEATURE_FLAGS 목록은 아래 링크에서 확인할 수 있다.

https://github.com/apache/superset/blob/master/RESOURCES/FEATURE_FLAGS.md

 

https://preset.io/blog/feature-flags-in-apache-superset-and-preset/ 은 superset을 SaaS 형태로 제공하는 preset에서 게시한 feature flags에 대한 글이다.

 

 

DASHBOARD_NATIVE_FILTERS

확인해보니 대시보드 필터는 DASHBOARD_NATIVE_FILTERS 플래그로 활성화 여부를 지정할 수 있다고 한다. 따라서 superset_config.py에 아래와 같이 설정을 추가한다.

 FEATURE_FLAGS = {
    "DASHBOARD_NATIVE_FILTERS": True,
}

다만 대시보드 필터가 기본적으로 활성화되어 있기 때문에 DASHBOARD_NATIVE_FILTERS 플래그 자체는 superset 3.0부터 deprecated 되었고, 4.0에서 제거될 예정이라고 한다. 따라서 앞으로의 유지보수를 위해서는 제거하는 편이 더 나을 것 같다.

이 글의 경우에는 활성화되어 있던 기능이 비활성화되었기 때문에 명시적으로 활성화하도록 하겠다.

 

구성 파일을 편집하고 서비스를 재시작했을 때 이상이 없으면 정상적으로 대시보드 필터가 다시 활성화된 모습을 확인할 수 있다.

참고로 FEATURE_FLAGS에 전달하는 키에 오타가 있어도 서비스는 동작한다.

 

 

참고 문서

https://tedparkdev.tistory.com/11

https://github.com/apache/superset/issues/12148

https://github.com/apache/superset/blob/master/RESOURCES/FEATURE_FLAGS.md

https://preset.io/blog/feature-flags-in-apache-superset-and-preset/

https://superset.apache.org/docs/installation/configuring-superset/#feature-flags