IT评测·应用市场-qidao123.com

标题: 【大数据】Apache Superset:可视化开源架构 [打印本页]

作者: 耶耶耶耶耶    时间: 2025-1-13 06:38
标题: 【大数据】Apache Superset:可视化开源架构
Apache Superset是什么

Apache Superset 是一个开源的现代化数据可视化和数据探索平台,主要用于帮助用户以交互式的方式分析和展示数据。有不少丰富的可视化组件,可以将数据从多种数据源(如 SQL 数据库、数据仓库、NoSQL 数据库等)中提取并以图表、表格、仪表盘等情势举行展示。
支持连接多种数据源,如 MySQL、PostgreSQL、SQLite、Apache Druid、Presto、Google BigQuery 等。
这是它的官方网站:https://superset.apache.org/


Ubuntu18.04裸机摆设Superset 4.0

1.更新系统

  1. sudo apt update && sudo apt upgrade -y
复制代码
2.安装python3.9(apache superset4.0依靠3.9及以上版本python)

注意:不能使用3.9以下版本,否则会有很多问题!
安装python3.9:
  1. wget https://www.python.org/ftp/python/3.9.18/Python-3.9.18.tgz
  2. sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev libbz2-dev
  3. tar xf Python-3.9.18.tgz
  4. cd Python-3.9.18/
  5. ./configure --enable-optimizations
  6. sudo make altinstall
  7. python3.9 --version
复制代码
3.安装数据库并配置(PostgreSQL)

  1. sudo apt install -y postgresql postgresql-contrib
  2. sudo -u postgres psql
  3. CREATE USER superset_user WITH ENCRYPTED PASSWORD 'Superset123!';#your_password
  4. CREATE DATABASE superset OWNER superset_user;
  5. GRANT ALL PRIVILEGES ON DATABASE superset TO superset_user;
  6. \q
复制代码
4.创建superset文件:/opt/superset/superset_config.py

  1. sudo mkdir -p /opt/superset/
  2. sudo nano /opt/superset/superset_config.py
复制代码
写入:
  1. #SQLALCHEMY_DATABASE_URI = 'sqlite:path/to/superset.db'
  2. ## 格式为 “协议://用户:密码@数据库地址/数据库名”,注意数据库密码中不要包含 @ 字符,如存在记得改掉
  3. ## 下面分别为 MySQL 和 PostgreSQL 配置,按需使用
  4. #SQLALCHEMY_DATABASE_URI = 'mysql://superset_user:Superset123!@localhost/superset'
  5. SQLALCHEMY_DATABASE_URI = 'postgresql://superset_user:Superset123!@localhost/superset'
  6. # Flask-WTF flag for CSRF
  7. WTF_CSRF_ENABLED = True
  8. # Add endpoints that need to be exempt from CSRF protection
  9. WTF_CSRF_EXEMPT_LIST = []
  10. # A CSRF token that expires in 1 year
  11. WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365
  12. # Set this API key to enable Mapbox visualizations
  13. MAPBOX_API_KEY = ''
  14. ## 下面为缓存配置,先注释,存在兼容性问题尚未解决
  15. #CACHE_CONFIG = {
  16. #    "CACHE_TYPE": "RedisCache",
  17. #    "CACHE_DEFAULT_TIMEOUT": 300,
  18. #    "CACHE_KEY_PREFIX": "superset_",
  19. #    'CACHE_REDIS_URL': 'redis://0.0.0.0:6379/0'
  20. #}
  21. #DATA_CACHE_CONFIG = CACHE_CONFIG
复制代码
5.进入python虚拟环境并做配置

  1. python3.9 -m venv superset-venv
  2. source superset-venv/bin/activate
复制代码
提示:如果要退出虚拟环境,使用deactivate下令。
安装数据库引擎:
  1. pip3 install wheel
  2. #PostgreSQL (需要安装依赖 libpq-dev)
  3. sudo apt update
  4. sudo apt install libpq-dev
  5. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple psycopg2
复制代码
安装PIL依靠:
  1. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
复制代码
6.安装apache superset4.0并做配置

  1. pip install --upgrade pip setuptools
  2. pip install apache-superset
复制代码
环境变量手动指定配置文件地址:
  1. export SUPERSET_CONFIG_PATH=/opt/superset/superset_config.py
  2. export FLASK_APP=superset
复制代码
7.初始化apache superset

  1. #初始化数据库
  2. superset db upgrade
  3. #创建管理员账户
  4. superset fab create-admin
  5. #初始化默认角色和权限
  6. superset init
  7. #可选,数据量较大,需要等待较长时间
  8. superset load_examples
  9. #启动Superset
  10. superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger
复制代码
初始化乐成后,Superset在http://localhost:8088上运行。
8.系统启动后手动启动方式

  1. source superset-venv/bin/activateexport SUPERSET_CONFIG_PATH=/opt/superset/superset_config.py
  2. export FLASK_APP=superset
  3. export SUPERSET_SECRET_KEY="oh-so-secret"#启动Supersetsuperset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger
复制代码

常见问题

问题1:如果实行superset db upgrade报错:Error: Could not locate a Flask application. Use the ‘flask --app’ option, ‘FLASK_APP’ environment variable, or a ‘wsgi.py’ or ‘app.py’ file in the current directory.
实行以下:
  1. export FLASK_APP=superset
  2. superset db upgrade
复制代码
问题2:如果实行下令提示:
(superset-venv) sds@sds:~$ superset db upgrade: Refusing to start due to insecure SECRET_KEY
实行:export SUPERSET_SECRET_KEY=“oh-so-secret” 忽略安全性验证。
问题3:如果提示“No PIL installation found”。
实行:
  1. pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pillow
复制代码
问题4:如果提示:sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) near “extra”: syntax error
是由于superset默认使用sqlite数据库,其版本本身存在问题,解决方法要么重新安装sqlite,要么使用其他数据库即可。
保举使用PostgreSQL。
问题5:如果实行“superset load_examples”下载示例数据报错:ConnectionRefusedError: [Errno 111] Connection refused。
是由于无法访问外网导致,实行以下下令使用代理联系外网:
  1. export http_proxy="http://192.168.31.13:7890"
  2. export https_proxy="http://192.168.31.13:7890"
  3. export socks_proxy="socks5://192.168.31.13:7891"
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4