我有一个包含 10 亿行的数据集。数据存储在 Hive 中。另外,我将 Impala 作为 Hive 和 Superset 之间的一层。在 Superset 中运行的查询具有最大行限制。 100.000。我需要更改它,没有行限制。此外,我需要对从 SQL 实验室返回的查询结果进行可视化,但这是无法完成的,因为也存在超时缓存限制。因此,如果我更改/增加 SQL 实验室中的行限制和可视化中的超时缓存,那么我想,不会有问题。
我尽力在下面回答。更改前请备份所有配置文件。
对于 SQL 行限制问题 -
DEFAULT_SQLLAB_LIMIT to 1000000000
QUERY_SEARCH_LIMIT to 1000000000
filter_row_limit to 1000000000
对于超时问题,增加以下参数值 -
对于同步查询 - 更改 superset_config.py
SUPERSET_WEBSERVER_TIMEOUT
SQLLAB_TIMEOUT
SUPERSET_TIMEOUT --This value should be >=SQLLAB_TIMEOUT
对于异步查询 -
SQLLAB_ASYNC_TIME_LIMIT_SEC
必须有一个配置参数来更改 site-packages/superset 中的最大行限制,DEFAULT_SQLLAB_LIMIT 来设置默认值,SQL_MAX_ROW 来设置 SQL Lab 中的最大值。
我想我们必须再次运行 superset_init 才能使更改出现在 Superset 上。
我已经能够通过将 /superset/config.py
中的
SQL_MAX_ROW修改为新的所需最大值来解决问题。
# Maximum number of rows returned for any analytical database query
SQL_MAX_ROW = 100000
a) 如果使用 helm,请转到 ssuperset_config.py 或 value.yml b) 添加
SQLLAB_ASYNC_TIME_LIMIT_SEC = 60 * 60 * 6 # 6 hours
SUPERSET_WEBSERVER_TIMEOUT = 3600
ROW_LIMIT = 50000000
VIZ_ROW_LIMIT = 50000000
SAMPLES_ROW_LIMIT = 50000000
FILTER_SELECT_ROW_LIMIT = 50000000
QUERY_SEARCH_LIMIT = 50000000
SQL_MAX_ROW = 500000000
DISPLAY_MAX_ROW = 50000000
DEFAULT_SQLLAB_LIMIT = 50000000
c) 转到图表并将 ROW LIMIT 设置为 0。 它不会出现在下拉列表中,但您需要编写它。 检查视图查询,您可以看到它占用了 ROW_LIMIT 50000000