Superset 安装后有部分位置需要进行更改否则影响使用,
也有一些优化项可以更改,纪录一下防止后期遗忘。
安装路径
/opt/module/miniconda3/envs/superset/lib/python3.7/site-packages/superset/
一、导出CSV格式的文件乱码
1、文件:superset/config.py
CSV_EXPORT = {
"encoding": "gbk"
}
//此处次uff-8性为gbk
2、文件:superset/views/core.py
csv_data = csv.df_to_escaped_csv(df, index=False, **config["CSV_EXPORT"])
quoted_csv_name = parse.quote(query.name)
response = CsvResponse(
csv_data, headers=generate_download_headers("csv", quoted_csv_name)
)
event_info =
// 将把原来的Response替换成CsvResponse,本次未更改,可能是新版本原因
二、标题更改
1、文件:config.py
APP_NAME = 'Superset'
//更改为需要的值,例如'Moumou BI'
2、文件:core.py
return self.render_template(
"superset/basic.html",
title=_("%(user)s's profile", user=username).__str__(),
entry="profile",
bootstrap_data=json.dumps(
payload, default=utils.pessimistic_json_iso_dttm_ser
),
)
//更改为需要的值,例"Moumou BI"
三、SQL默认查询时间更改(易超时)
文件:config.py
# Timeout duration for SQL Lab synchronous queries
SQLLAB_TIMEOUT = int(timedelta(seconds=30).total_seconds())
//更改30为自己需要的时间,例如300
四、图片更改
路径:site-packages/superset/static/assets/images
按需替换图片即可
五、相关命令
停止:
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
启动:
conda activate superset ; gunicorn --workers 5 --timeout 500 --bind 0.0.0.0:8088 "superset.app:create_app()" --daemon
//常用
查看状态:
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l
//使用不多
六、文件整理
#!/bin/bash
superset_status(){
result=`ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | wc -l`
if [[ $result -eq 0 ]]; then
return 0
else
return 1
fi
}
superset_start(){
source ~/.bashrc
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
conda activate superset ; gunicorn --workers 5 --timeout 500 --bind 0.0.0.0:8088 "superset.app:create_app()" --daemon
else
echo "superset正在运行"
fi
}
superset_stop(){
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
ps -ef | awk '/gunicorn/ && !/awk/{print $2}' | xargs kill -9
fi
}
case $1 in
start )
echo "启动Superset"
superset_start
;;
stop )
echo "停止Superset"
superset_stop
;;
restart )
echo "重启Superset"
superset_stop
superset_start
;;
status )
superset_status >/dev/null 2>&1
if [[ $? -eq 0 ]]; then
echo "superset未在运行"
else
echo "superset正在运行"
fi
esac