Apache超集-CSV上载问题:FileNotFoundError

Apache超集-CSV上载问题:FileNotFoundError,csv,upload,apache-superset,Csv,Upload,Apache Superset,在CSV上传过程中,Apache Superset出现问题。当我尝试上载CSV文件时,它返回以下错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:'/app/pythonpath/app/static/uploads/tmpkvod0plb.CSV' Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/flask/app.py", l

在CSV上传过程中,Apache Superset出现问题。当我尝试上载CSV文件时,它返回以下错误:FileNotFoundError:[Errno 2]没有这样的文件或目录:'/app/pythonpath/app/static/uploads/tmpkvod0plb.CSV'

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.6/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/flask_appbuilder/views.py", line 94, in this_form_post
    response = self.form_post(form)
  File "/app/superset/views/database/views.py", line 141, in form_post
    delete=False,
  File "/usr/local/lib/python3.6/tempfile.py", line 551, in NamedTemporaryFile
    (fd, name) = _mkstemp_inner(dir, prefix, suffix, flags, output_type)
  File "/usr/local/lib/python3.6/tempfile.py", line 262, in _mkstemp_inner
    fd = _os.open(file, flags, 0o600)
FileNotFoundError: [Errno 2] No such file or directory: '/app/superset/app/static/uploads/tmpt537yamb.csv'*

该错误消息非常通用,但没有任何其他细节。请查看
/app/pythonpath/app/static/uploads
,以及:

  • 检查目录是否存在
  • 检查权限
  • 检查运行Apache超集的用户是否可以写入该路径名
如果目录不存在,请创建它:

mkdir /app/pythonpath/app/static/uploads

尝试将csv上载到mysql时遇到相同的问题。我从中找到了解决办法

原因是此正在运行的容器没有足够的权限。因此,在使用docker compose时,需要将根指定给超集:

    env_file: docker/.env
    build: *superset-build
    container_name: superset_app
    command: ["flask", "run", "-p", "8088", "--with-threads", "--reload", "--debugger", "--host=0.0.0.0"]
    restart: unless-stopped
    ports:
      - 8088:8088
    user: root:root # add here
    depends_on: *superset-depends-on
    volumes: *superset-volumes

你能提供进一步的细节吗?从现在起你尝试了什么?我已经用docker compose安装了superset。经过身份验证后,我尝试上载CSV文件。目录/app/pythonpath/app/static/uploads不存在。创建它。我没有在容器中创建文件夹的权限。我已经安装了带有docker组件的superset执行此操作时不存在负面安全隐患吗?