Apache Superset初始化PinotDB连接时出现DatabaseError报错求助
解决Apache Superset连接Pinot后执行
superset db upgrade报错问题 问题原因
你错误地将Apache Pinot配置为Superset的元数据库了。Superset的元数据(比如权限表ab_permission这类)需要存储在关系型数据库(如PostgreSQL、MySQL、SQLite)中,而Pinot是OLAP分析数据库,不支持创建这类元数据表的DDL操作,因此执行superset db upgrade时会触发SQL解析错误。
解决步骤
修正Superset元数据库配置
找到Superset的配置文件(默认是superset_config.py,无文件可从superset_config.py.example复制生成),修改SQLALCHEMY_DATABASE_URI配置项,指向一个关系型数据库:- 测试用SQLite示例:
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db' - PostgreSQL示例:
SQLALCHEMY_DATABASE_URI = 'postgresql://username:password@host:port/dbname' - MySQL示例:
SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://username:password@host:port/dbname?charset=utf8mb4'
- 测试用SQLite示例:
重新初始化元数据库
配置完成后,依次执行以下命令:superset db upgrade superset fab create-admin superset init将Pinot作为分析数据源连接
元数据库配置完成后,在Superset Web界面通过Data > Databases添加Pinot数据源,使用pinotdb连接器配置对应连接信息即可,此时Pinot作为分析数据源使用,而非元数据库。
内容的提问来源于stack exchange,提问作者Zendoc
相关产品推荐
相关产品推荐

