Настройка Apache Superset с базой данных MySQL - PullRequest
0 голосов
/ 10 ноября 2019

Я настраиваю 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 = '\2\1t567fgj7dtghjdhfui64@#$&77cvw424tkey\1\2\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 Ответ

1 голос
/ 14 ноября 2019

Может происходить 2 вещи:

  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
...