使用 mysql 数据库配置 apache 超集

Configuring apache superset with mysql database

我正在将 apache 配置为从 mysql 而不是 sqlite 读取;以下是我的配置文件中的详细信息。我不太明白如何配置上面的文件以从我的数据库中读取以便我可以开始创建摘要:我已参考此文档进行设置。 https://superset.incubator.apache.org/installation.html

# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 200000
SUPERSET_WORKERS = 4

SUPERSET_WEBSERVER_PORT = 8088
#---------------------------------------------------------

#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = 't567fgj7dtghjdhfui64@#$&77cvw424tkey\e\y\y\h'

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
#SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'
SQLALCHEMY_DATABASE_URI = 'mysql://username:password@localhost:3307/'

# Flask-WTF flag for CSRF
CSRF_ENABLED = True

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''

我运行下面的命令来初始化我的项目

superset init

这会导致以下错误:

ERROR:flask_appbuilder.security.sqla.manager:DB Creation and initialization failed: 'NoneType' object has no attribute 'replace'

任何解决我的配置问题的指导将不胜感激

可能会发生两件事:

  1. 您的数据库 URI 似乎应该采用 mysql://username:password@host:port/dbname 格式,而不是 mysql://username:password@host:port/(请参阅 https://docs.sqlalchemy.org/en/13/core/engines.html#mysql 以供参考)
  2. 您似乎希望连接到那个 mysql 数据库以便查询它并可视化它的数据 - 不要将它用作您的超集数据库后端(即数据库超集将用于为了坚持你的超集配置)。对于后者,您最好只使用 sqlite。
    为了连接到您的目标数据库以实际查询它,请参阅 https://duperset.com/getting_started
  3. 上的 "Connecting To Your Target Database(s)"