我在我的 kubernetes 环境中通过 helmchart 安装了超集,我从官方文档和存储库中获取了所有内容:https://github.com/apache/superset
我正在尝试通过 helmchart 而不是通过 UI 每 12 小时存档一次仪表板的数据自动刷新;我读到这可以通过启用超集缓存来完成,这样数据将被缓存 12 小时,然后动态刷新,每个访问超集 UI 的人都可以看到相同的值。
我现在的问题是一个....我可以在 superset/config.py 文件中看到缓存配置:
# Default cache for Superset objects
CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "NullCache"}
# Cache for datasource metadata and query results
DATA_CACHE_CONFIG: CacheConfig = {"CACHE_TYPE": "NullCache"}
# Cache for dashboard filter state (`CACHE_TYPE` defaults to `SimpleCache` when
# running in debug mode unless overridden)
FILTER_STATE_CACHE_CONFIG: CacheConfig = {
"CACHE_DEFAULT_TIMEOUT": int(timedelta(days=90).total_seconds()),
# should the timeout be reset when retrieving a cached value
"REFRESH_TIMEOUT_ON_RETRIEVAL": True,
}
# Cache for explore form data state (`CACHE_TYPE` defaults to `SimpleCache` when
# running in debug mode unless overridden)
EXPLORE_FORM_DATA_CACHE_CONFIG: CacheConfig = {
"CACHE_DEFAULT_TIMEOUT": int(timedelta(days=7).total_seconds()),
# should the timeout be reset when retrieving a cached value
"REFRESH_TIMEOUT_ON_RETRIEVAL": True,
}
根据文档,我正在使用 helmchart 的 configOverrides 部分来覆盖默认值并启用配置、数据、过滤器和浏览的缓存,但我找不到任何示例说明如何执行此操作以及我尝试的所有操作总是在 helmrelease 中失败。
我尝试阅读 helmchart,但看起来它占用了所有 configOverrides 部分,我无法找到它覆盖这些特定值的位置。
我尝试覆盖的一些例子,例如启用一些标志没有问题:
configOverrides:
enable_flags: |
FEATURE_FLAGS = {
"DASHBOARD_NATIVE_FILTERS": True,
"ENABLE_TEMPLATE_PROCESSING": True,
"DASHBOARD_CROSS_FILTERS": True,
"DYNAMIC_PLUGINS": True,
"VERSIONED_EXPORT": True,
"DASHBOARD_RBAC": True,
}
但是如果我尝试覆盖一个或多个缓存值,它会失败,这是我尝试覆盖检查 helm 值文件、模板和 superser config.py(以及检查其他文章)的不同方式之一:
configOverrides:
cache_config: |
CACHE_CONFIG: CacheConfig = {
'CACHE_TYPE': 'RedisCache',
'CACHE_DEFAULT_TIMEOUT': int(timedelta(hours=6).total_seconds()),
'CACHE_KEY_PREFIX': 'superset_cache_'
}
data_cache_config: |
DATA_CACHE_CONFIG: CacheConfig = {
'CACHE_TYPE': 'RedisCache',
'CACHE_DEFAULT_TIMEOUT': int(timedelta(hours=6).total_seconds()),
'CACHE_KEY_PREFIX': 'superset_data_'
}
filter_cache_config: |
FILTER_STATE_CACHE_CONFIG: CacheConfig = {
'CACHE_TYPE': 'RedisCache',
'CACHE_DEFAULT_TIMEOUT': int(timedelta(hours=6).total_seconds()),
'CACHE_KEY_PREFIX': 'superset_filter_'
}
explore_cache_config: |
EXPLORE_FORM_DATA_CACHE_CONFIG: CacheConfig = {
'CACHE_TYPE': 'RedisCache',
'CACHE_DEFAULT_TIMEOUT': int(timedelta(hours=6).total_seconds()),
'CACHE_KEY_PREFIX': 'superset_explore_'
}
有什么帮助吗?或者重定向到一些有示例的好文档! Ps 我安装的 redis 是 helmchart 创建的默认安装,我没有更改任何东西。