Apache Superset - Проблема с загрузкой CSV: FileNotFoundError - PullRequest
0 голосов
/ 04 августа 2020

У меня проблема с Apache Superset во время загрузки CSV. Когда я пытаюсь загрузить файл 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'*

Ответы [ 2 ]

0 голосов
/ 06 сентября 2020

Та же проблема при попытке загрузить csv на mysql. Я нашел решение из этой проблем

Причина в том, что у этого работающего контейнера недостаточно прав. Таким образом, вам нужно назначить root расширенному набору при использовании 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
0 голосов
/ 04 августа 2020

Сообщение об ошибке очень общее c, но без каких-либо других подробностей, посмотрите /app/pythonpath/app/static/uploads и:

  • проверить существование каталога
  • проверить права доступа
  • проверьте, доступен ли этот путь для записи пользователю, запустившему Apache Superset

Если каталог не существует, создайте его:

mkdir /app/pythonpath/app/static/uploads
...