diff --git a/docs/docs/configuration/databases.mdx b/docs/docs/configuration/databases.mdx index 8bae5491b1662..948daad2f6495 100644 --- a/docs/docs/configuration/databases.mdx +++ b/docs/docs/configuration/databases.mdx @@ -55,7 +55,7 @@ are compatible with Superset. | [ClickHouse](/docs/configuration/databases#clickhouse) | `pip install clickhouse-connect` | `clickhousedb://{username}:{password}@{hostname}:{port}/{database}` | | [CockroachDB](/docs/configuration/databases#cockroachdb) | `pip install cockroachdb` | `cockroachdb://root@{hostname}:{port}/{database}?sslmode=disable` | | [Couchbase](/docs/configuration/databases#couchbase) | `pip install couchbase-sqlalchemy` | `couchbase://{username}:{password}@{hostname}:{port}?truststorepath={ssl certificate path}` | -| [Dremio](/docs/configuration/databases#dremio) | `pip install sqlalchemy_dremio` | `dremio://user:pwd@host:31010/` | +| [Dremio](/docs/configuration/databases#dremio) | `pip install sqlalchemy_dremio` |`dremio+flight://{username}:{password}@{host}:31010, For ODBC dremio+pyodbc://{username}:{password}@{host}:32010` | | [Elasticsearch](/docs/configuration/databases#elasticsearch) | `pip install elasticsearch-dbapi` | `elasticsearch+http://{user}:{password}@{host}:9200/` | | [Exasol](/docs/configuration/databases#exasol) | `pip install sqlalchemy-exasol` | `exa+pyodbc://{username}:{password}@{hostname}:{port}/my_schema?CONNECTIONLCALL=en_US.UTF-8&driver=EXAODBC` | | [Google BigQuery](/docs/configuration/databases#google-bigquery) | `pip install sqlalchemy-bigquery` | `bigquery://{project_id}` | @@ -522,7 +522,7 @@ The recommended connector library for Dremio is The expected connection string for ODBC (Default port is 31010) is formatted as follows: ``` -dremio://{username}:{password}@{host}:{port}/{database_name}/dremio?SSL=1 +dremio+pyodbc://{username}:{password}@{host}:{port}/{database_name}/dremio?SSL=1 ``` The expected connection string for Arrow Flight (Dremio 4.9.1+. Default port is 32010) is formatted as follows: diff --git a/pyproject.toml b/pyproject.toml index 16b9c2cb61c16..2318f6fca100c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -118,7 +118,7 @@ databricks = [ "sqlalchemy-databricks>=0.2.0", ] db2 = ["ibm-db-sa>0.3.8, <=0.4.0"] -dremio = ["sqlalchemy-dremio>=1.1.5, <1.3"] +dremio = ["sqlalchemy-dremio>=1.2.1, <4"] drill = ["sqlalchemy-drill>=1.1.4, <2"] druid = ["pydruid>=0.6.5,<0.7"] duckdb = ["duckdb-engine>=0.9.5, <0.10"] diff --git a/superset/db_engine_specs/dremio.py b/superset/db_engine_specs/dremio.py index 32ffee81a6c5c..1f4338830bb8f 100644 --- a/superset/db_engine_specs/dremio.py +++ b/superset/db_engine_specs/dremio.py @@ -38,6 +38,11 @@ class DremioEngineSpec(BaseEngineSpec): engine = "dremio" engine_name = "Dremio" engine_aliases = {"dremio+flight"} + drivers = { + "flight": "Arrow Flight driver for Dremio", + "pyodbc": "ODBC driver for Dremio", + } + default_driver = "flight" sqlalchemy_uri_placeholder = ( "dremio+flight://data.dremio.cloud:443/?" "Token=&"