3

我使用Apache Superset进行数据探索。我按照安装说明操作,使用该应用程序没有任何问题。

但是,在我安装了社区维护的 docker 映像后,我尝试上传 CSV 文件进行可视化,但出现以下错误:

([Errno 13] Permission denied: '/usr/local/lib/python3.5/site-packages/superset/app')

我使用sqlite作为数据库后端,并按照建议安装了数据库卷。

其他用户在不同的设置和配置下也有同样的问题。他们打开的问题(#4576#4287)尚未解决。

该问题似乎与数据库访问权限无关,正如用户使用的不同数据库后端和配置所证明的那样。

4

2 回答 2

6

解决方案

将以下行添加到您的superset_config.py文件中,重建并运行您的 docker 映像:

import os

BASE_DIR = os.path.abspath(os.path.dirname(__file__))

# The file upload folder, when using models with files
UPLOAD_FOLDER = BASE_DIR + '/app/static/uploads/'

# The image upload folder, when using models with images
IMG_UPLOAD_FOLDER = BASE_DIR + '/app/static/uploads/'

您还可以将路径更改为要在 docker image中保存上传的文件和图像的任何位置。

问题原因:

Superset 正在尝试将 CSV 文件上传到错误消息中显示的路径。该路径归root用户所有,Superset没有权限。

要解决此问题,您需要更改 Superset 上传 CSV 文件的路径。这可以通过设置几个配置来轻松完成,如上所示。

这也应该解决上传照片以在 Superset 用户配置文件中使用时的问题。

于 2018-07-18T22:58:43.820 回答
0

上面说的这个错误主要与文件夹权限有关。您可以通过以 root 权限执行来运行它。

例如,在我的情况下,我在运行superset runserver -d -p8080.

改用该命令sudo superset runserver -d -p8080,您将能够上传您的 csv 文件。

注意:可以根据需要更改指定的其他标志和端口号。

另请注意:仅当您使用 root 权限安装超集而不是pip install superset您可能使用过时,才会出现此权限错误sudo pip install superset

希望有一天它会帮助某人。

于 2019-07-24T11:11:05.167 回答