Superset项目开发环境搭建全指南

Superset项目开发环境搭建全指南

superset superset 项目地址: https://gitcode.com/gh_mirrors/su/superset

作为一款强大的数据可视化与商业智能工具,Superset的开发环境搭建是开发者入门的第一步。本文将全面介绍Superset项目的开发环境配置方法,帮助开发者快速搭建高效的开发环境。

开发环境搭建方案对比

Superset支持多种开发环境搭建方式,主要包括:

  1. docker compose方案(推荐):容器化方案,简单快捷
  2. 传统Flask服务器方案:直接在主机运行
  3. 前端独立开发方案:专注于前端开发

对于大多数开发者,我们强烈推荐使用docker compose方案,它能最大程度减少环境配置问题。

推荐方案:docker compose环境

环境准备

确保已安装:

  • Docker
  • Docker Compose

快速启动

# 克隆项目后进入项目目录
cd superset

# 启动所有服务
docker compose up --build

此命令会启动以下服务:

  • Superset Flask服务器(Python后端)
  • Celery工作节点(异步任务处理)
  • Node服务(前端资源构建)
  • Node WebSocket服务(实时通信)
  • PostgreSQL数据库(元数据存储)
  • Redis服务(消息队列和缓存)

关键特性

  1. 代码热加载:本地代码变更会实时反映到容器中
  2. 示例数据自动加载:首次启动会自动加载示例数据集
  3. 访问地址:http://localhost:9000
  4. 默认账号:admin/admin

环境变量配置

通过环境变量可自定义构建行为:

# 不加载示例数据加速启动
SUPERSET_LOAD_EXAMPLES=no docker compose up

# 设置日志级别为debug
SUPERSET_LOG_LEVEL=debug docker compose up

常用环境变量:

  • SUPERSET_BUILD_TARGET:构建目标(dev/lean)
  • INCLUDE_FIREFOX:是否包含Firefox无头浏览器
  • BUILD_TRANSLATIONS:是否编译翻译文件

数据库管理

# 进入PostgreSQL命令行
docker compose exec db psql -U superset

# 重置数据库(慎用)
docker compose down
docker volume rm superset_db_home
docker compose up

开发工具配置

Python环境

建议使用虚拟环境:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements/development.txt

Git钩子配置

Superset使用pre-commit进行代码提交前检查:

pre-commit install

# 手动运行检查
pre-commit run --all-files

前端开发指南

环境准备

  • Node.js 20.x
  • npm 10.x

推荐使用nvm管理Node版本:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
nvm install --lts
nvm use --lts

前端构建

cd superset-frontend
npm ci

# 开发模式(热更新)
npm run dev-server

# 生产构建
npm run build

开发工作流

  1. 启动后端服务:

    superset run -p 8088 --with-threads --reload --debugger --debug
    
  2. 启动前端开发服务器:

    npm run dev-server
    
  3. 访问 http://localhost:9000

常见问题解决

文件监视限制问题

如果遇到文件监视限制错误,可增加系统限制:

# 查看当前限制
cat /proc/sys/fs/inotify/max_user_watches

# 永久修改(需root权限)
echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

数据库迁移问题

当切换分支导致数据库迁移冲突时,最简单的解决方案是重置数据库。

总结

Superset提供了灵活的开发环境配置方案,docker compose方式能最大程度简化环境搭建过程。对于前端开发者,独立的前端开发服务器提供了高效的热更新体验。通过合理配置开发工具和工作流,可以显著提升Superset项目的开发效率。

superset superset 项目地址: https://gitcode.com/gh_mirrors/su/superset

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成婕秀Timothy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值