[Superset] Dashboard Native Filters 활성화
개요
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