docker-superset icon indicating copy to clipboard operation
docker-superset copied to clipboard

ClickHouse connection issue after upgrading to 2.1.0

Open xRomZak opened this issue 2 years ago • 1 comments

URL format: clickhouse+native://.... (was ok before upgrade)

[ImportError: cannot import name '_literal_as_label_reference'
...
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1517, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.8/site-packages/flask/app.py", line 1503, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/usr/local/lib/python3.8/site-packages/flask_appbuilder/security/decorators.py", line 95, in wraps
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/superset/views/base_api.py", line 122, in wraps
    raise ex
  File "/usr/local/lib/python3.8/site-packages/superset/views/base_api.py", line 113, in wraps
    duration, response = time_function(f, self, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/superset/utils/core.py", line 1586, in time_function
    response = func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/superset/utils/log.py", line 266, in wrapper
    value = f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/superset/views/base_api.py", line 85, in wraps
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/superset/databases/api.py", line 865, in test_connection
    TestConnectionDatabaseCommand(item).run()
  File "/usr/local/lib/python3.8/site-packages/superset/databases/commands/test_connection.py", line 229, in run
    raise DatabaseTestConnectionUnexpectedError(errors) from ex
superset.databases.commands.exceptions.DatabaseTestConnectionUnexpectedError: [SupersetError(message="cannot import name '_literal_as_label_reference' from 'sqlalchemy.sql.elements' (/usr/local/lib/python3.8/site-packages/sqlalchemy/sql/elements.py)", error_type=<SupersetErrorType.GENERIC_DB_ENGINE_ERROR: 'GENERIC_DB_ENGINE_ERROR'>, level=<ErrorLevel.ERROR: 'error'>, extra={'engine_name': 'ClickHouse', 'issue_codes': [{'code': 1002, 'message': 'Issue 1002 - The database returned an unexpected error.'}]})]

I tried to connect by clickhousedb:// defined on wiki, but got an another error: superset.databases.commands.exceptions.DatabaseTestConnectionDriverError: Could not load database driver: ClickHouseConnectEngineSpec

xRomZak avatar May 02 '23 06:05 xRomZak

you might want to play with upgrading the pip for clickhouse. If you find a version that works, please open a PR and we'll upgrade it

amancevice avatar May 10 '23 11:05 amancevice