serverdevil commented on issue #16723: URL: https://github.com/apache/superset/issues/16723#issuecomment-3043656400
> I'm getting errors with Superset 4.1.2 and AWS Opensearch. I've tried [@Unanimad](https://github.com/Unanimad) 's solution and installed the required libraries in the docker file: > > pip install elasticsearch==7.13.4 sqlalchemy==1.4.9 elasticsearch-dbapi[opendistro] opensearch-py > > I used the following URL syntax for database connection: > > odelasticsearch+https://username:password$@my-opensearch-domain.my-region.es.amazonaws.com:443 > > I can create a database connection, but while trying to create a dataset, I get the following error (the index that I'm trying to connect is named "cloudwatch", and that's an alias btw) (there are backticks around default keyword, formatting removes them): > > > 2025-05-26 07:51:37,370:WARNING:superset.views.error_handling:SupersetErrorException > > Traceback (most recent call last): > > File "/app/superset/sql/parse.py", line 257, in _parse > > return sqlglot.parse(script, dialect=dialect) > > File "/usr/local/lib/python3.10/site-packages/sqlglot/**init**.py", line 102, in parse > > return Dialect.get_or_raise(read or dialect).parse(sql, **opts) > > File "/usr/local/lib/python3.10/site-packages/sqlglot/dialects/dialect.py", line 919, in parse > > return self.parser(**opts).parse(self.tokenize(sql), sql) > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 1395, in parse > > return self._parse( > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 1467, in _parse > > self.raise_error("Invalid expression / Unexpected token") > > File "/usr/local/lib/python3.10/site-packages/sqlglot/parser.py", line 1508, in raise_error > > raise error > > sqlglot.errors.ParseError: Invalid expression / Unexpected token. Line 2, Col: 14. > > SELECT * > > FROM `` `default` ``.cloudwatch > > LIMIT 100 > > The above exception was the direct cause of the following exception: > > Traceback (most recent call last): > > File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request > > rv = self.dispatch_request() > > File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request > > return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) > > File "/usr/local/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py", line 95, in wraps > > return f(self, *args, **kwargs) > > File "/app/superset/views/base_api.py", line 119, in wraps > > duration, response = time_function(f, self, *args, **kwargs) > > File "/app/superset/utils/core.py", line 1364, in time_function > > response = func(*args, **kwargs) > > File "/app/superset/utils/log.py", line 303, in wrapper > > value = f(*args, **kwargs) > > File "/app/superset/databases/api.py", line 1024, in table_metadata > > payload = database.db_engine_spec.get_table_metadata(database, table) > > File "/app/superset/db_engine_specs/base.py", line 1079, in get_table_metadata > > return get_table_metadata(database, table) > > File "/app/superset/databases/utils.py", line 100, in get_table_metadata > > "selectStar": database.select_star( > > File "/app/superset/models/core.py", line 719, in select_star > > return self.db_engine_spec.select_star( > > File "/app/superset/db_engine_specs/base.py", line 1689, in select_star > > sql = SQLScript(sql, engine=cls.engine).format() > > File "/app/superset/sql/parse.py", line 612, in **init** > > self.statements = statement_class.split_script(script, engine) > > File "/app/superset/sql/parse.py", line 317, in split_script > > ast = cls._parse(remainder, engine)[0] > > File "/app/superset/sql/parse.py", line 260, in _parse > > raise SupersetParseError( > > superset.exceptions.SupersetParseError: Error parsing near '`' at line 2:14 +1. Same issue with a local opensearch deployment. How do I control what dialect sqlglot's usage in Superset assumes for this scenario? Any help or nudge towards further investigation would be helpful. versions in play: superset: 5.0.0 opensearch: 3.1.0 opensearch-dbapi and opensearch-dbapi[opendistro] added to superset image ```superset | 2025-07-07 06:22:33,293:INFO:elasticsearch:GET http://opensearch:9200/logs/_mapping?format=json [status:200 request:0.005s] superset | 2025-07-07 06:22:33,319:WARNING:superset.views.error_handling:SupersetErrorException superset | Traceback (most recent call last): superset | File "/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 267, in _parse superset | return sqlglot.parse(script, dialect=dialect) superset | File "/app/.venv/lib/python3.10/site-packages/sqlglot/__init__.py", line 102, in parse superset | return Dialect.get_or_raise(read or dialect).parse(sql, **opts) superset | File "/app/.venv/lib/python3.10/site-packages/sqlglot/dialects/dialect.py", line 991, in parse superset | return self.parser(**opts).parse(self.tokenize(sql), sql) superset | File "/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1507, in parse superset | return self._parse( superset | File "/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1579, in _parse superset | self.raise_error("Invalid expression / Unexpected token") superset | File "/app/.venv/lib/python3.10/site-packages/sqlglot/parser.py", line 1620, in raise_error superset | raise error superset | sqlglot.errors.ParseError: Invalid expression / Unexpected token. Line 2, Col: 14. superset | SELECT * superset | FROM `default`.logs superset | LIMIT 100 superset | superset | The above exception was the direct cause of the following exception: superset | superset | Traceback (most recent call last): superset | File "/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request superset | rv = self.dispatch_request() superset | File "/app/.venv/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request superset | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) superset | File "/app/.venv/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py", line 109, in wraps superset | return f(self, *args, **kwargs) superset | File "/app/.venv/lib/python3.10/site-packages/superset/views/base_api.py", line 120, in wraps superset | duration, response = time_function(f, self, *args, **kwargs) superset | File "/app/.venv/lib/python3.10/site-packages/superset/utils/core.py", line 1369, in time_function superset | response = func(*args, **kwargs) superset | File "/app/.venv/lib/python3.10/site-packages/superset/utils/log.py", line 304, in wrapper superset | value = f(*args, **kwargs) superset | File "/app/.venv/lib/python3.10/site-packages/superset/databases/api.py", line 1013, in table_metadata superset | payload = database.db_engine_spec.get_table_metadata(database, table) superset | File "/app/.venv/lib/python3.10/site-packages/superset/db_engine_specs/base.py", line 1087, in get_table_metadata superset | return get_table_metadata(database, table) superset | File "/app/.venv/lib/python3.10/site-packages/superset/databases/utils.py", line 100, in get_table_metadata superset | "selectStar": database.select_star( superset | File "/app/.venv/lib/python3.10/site-packages/superset/models/core.py", line 771, in select_star superset | return self.db_engine_spec.select_star( superset | File "/app/.venv/lib/python3.10/site-packages/superset/db_engine_specs/base.py", line 1706, in select_star superset | sql = SQLScript(sql, engine=cls.engine).format() superset | File "/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 670, in __init__ superset | self.statements = statement_class.split_script(script, engine) superset | File "/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 327, in split_script superset | ast = cls._parse(remainder, engine)[0] superset | File "/app/.venv/lib/python3.10/site-packages/superset/sql/parse.py", line 270, in _parse superset | raise SupersetParseError( superset | superset.exceptions.SupersetParseError: Error parsing near '`' at line 2:14``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@superset.apache.org For additional commands, e-mail: notifications-h...@superset.apache.org