mirror of
https://github.com/apache/superset.git
synced 2026-04-22 17:45:21 +00:00
154 lines
7.2 KiB
Markdown
154 lines
7.2 KiB
Markdown
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
# Database Metadata Completeness Report
|
|
|
|
This report is auto-generated by `python superset/db_engine_specs/lint_metadata.py --markdown`.
|
|
It tracks which database engine specs have complete metadata.
|
|
|
|
## Summary
|
|
|
|
- **Total engine specs:** 79
|
|
- **With metadata:** 64 (81%)
|
|
- **All required fields:** 59 (74%)
|
|
- **Average completeness:** 65.4%
|
|
|
|
## Required Fields
|
|
|
|
These fields should be in every engine spec's `metadata` attribute:
|
|
|
|
- `description` - Brief description of the database
|
|
- `category` - DatabaseCategory constant for grouping
|
|
- `pypi_packages` - Python packages needed for connection
|
|
- `connection_string` - SQLAlchemy URI template
|
|
|
|
## Specs Needing Work
|
|
|
|
| Engine | Module | Score | Missing Required | Missing Recommended |
|
|
|--------|--------|-------|------------------|---------------------|
|
|
| Azure Synapse | mssql.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| ClickHouse Connect (Superset) | clickhouse.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| ClickHouseBaseEngineSpec | clickhouse.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Databend | databend.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| DatabendBaseEngineSpec | databend.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Databricks | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Databricks (legacy) | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Databricks SQL Endpoint | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| DatabricksBaseEngineSpec | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| DatabricksDynamicBaseEngineSpec | databricks.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| MotherDuck | duckdb.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| PostgreSQL | postgres.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| PrestoBaseEngineSpec | presto.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Shillelagh | shillelagh.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Superset meta database | superset.py | 0% | category, connection_string, description, pypi_packages | default_port, homepage_url, logo |
|
|
| Apache Drill | drill.py | 51% | connection_string, pypi_packages | default_port |
|
|
| Amazon Athena | athena.py | 52% | connection_string, pypi_packages | default_port |
|
|
| Ascend | ascend.py | 60% | ✓ | default_port, homepage_url, logo |
|
|
| Ocient | ocient.py | 61% | ✓ | default_port, homepage_url, logo |
|
|
| RisingWave | risingwave.py | 61% | ✓ | default_port, homepage_url, logo |
|
|
| Arc | arc.py | 62% | ✓ | default_port, homepage_url, logo |
|
|
| Parseable | parseable.py | 62% | ✓ | default_port, homepage_url, logo |
|
|
| IBM Db2 | db2.py | 66% | connection_string | default_port |
|
|
| Apache Solr | solr.py | 70% | ✓ | default_port, logo |
|
|
| Apache Spark SQL | spark.py | 70% | ✓ | default_port, logo |
|
|
| CockroachDB | cockroachdb.py | 71% | ✓ | default_port, logo |
|
|
| Cloudflare D1 | d1.py | 71% | ✓ | default_port, logo |
|
|
| IBM Db2 for i | ibmi.py | 71% | ✓ | default_port, logo |
|
|
| Amazon DynamoDB | dynamodb.py | 72% | ✓ | default_port, logo |
|
|
| Microsoft SQL Server | mssql.py | 76% | connection_string | ✓ |
|
|
| Amazon Redshift | redshift.py | 77% | connection_string | ✓ |
|
|
| Apache Hive | hive.py | 80% | ✓ | default_port |
|
|
| Apache Impala | impala.py | 80% | ✓ | default_port |
|
|
| Apache Kylin | kylin.py | 80% | ✓ | default_port |
|
|
| IBM Netezza Performance Server | netezza.py | 80% | ✓ | default_port |
|
|
| OceanBase | oceanbase.py | 80% | ✓ | default_port |
|
|
| Apache Doris | doris.py | 81% | ✓ | default_port |
|
|
| Aurora MySQL (Data API) | aurora.py | 81% | ✓ | default_port |
|
|
| Aurora PostgreSQL (Data API) | aurora.py | 81% | ✓ | default_port |
|
|
| SQLite | sqlite.py | 81% | ✓ | default_port |
|
|
| Teradata | teradata.py | 81% | ✓ | default_port |
|
|
| Apache Pinot | pinot.py | 81% | ✓ | default_port |
|
|
| Dremio | dremio.py | 81% | ✓ | default_port |
|
|
| DuckDB | duckdb.py | 81% | ✓ | default_port |
|
|
| Exasol | exasol.py | 81% | ✓ | default_port |
|
|
| Firebird | firebird.py | 81% | ✓ | default_port |
|
|
| Firebolt | firebolt.py | 81% | ✓ | default_port |
|
|
| Google Sheets | gsheets.py | 81% | ✓ | default_port |
|
|
| KustoKQL | kusto.py | 81% | ✓ | default_port |
|
|
| KustoSQL | kusto.py | 81% | ✓ | default_port |
|
|
| Oracle | oracle.py | 81% | ✓ | default_port |
|
|
| SAP HANA | hana.py | 81% | ✓ | default_port |
|
|
| YDB | ydb.py | 81% | ✓ | default_port |
|
|
| ClickHouse | clickhouse.py | 82% | ✓ | default_port |
|
|
| SAP Sybase | sybase.py | 82% | ✓ | default_port |
|
|
| Databricks Interactive Cluster | databricks.py | 82% | ✓ | default_port |
|
|
| Google BigQuery | bigquery.py | 83% | ✓ | default_port |
|
|
| Snowflake | snowflake.py | 83% | ✓ | default_port |
|
|
|
|
## Complete Specs
|
|
|
|
These specs have all required and recommended fields:
|
|
|
|
- Apache Druid (92%)
|
|
- Couchbase (91%)
|
|
- CrateDB (91%)
|
|
- Databend (91%)
|
|
- Denodo (91%)
|
|
- ElasticSearch (OpenDistro SQL) (91%)
|
|
- ElasticSearch (SQL API) (91%)
|
|
- Greenplum (91%)
|
|
- Hologres (91%)
|
|
- MariaDB (91%)
|
|
- MonetDB (91%)
|
|
- MySQL (92%)
|
|
- PostgreSQL (94%)
|
|
- Presto (92%)
|
|
- SingleStore (91%)
|
|
- StarRocks (91%)
|
|
- TDengine (91%)
|
|
- TimescaleDB (92%)
|
|
- Trino (92%)
|
|
- Vertica (92%)
|
|
- YugabyteDB (91%)
|
|
|
|
## How to Fix
|
|
|
|
Add a `metadata` attribute to your engine spec class:
|
|
|
|
```python
|
|
from superset.db_engine_specs.base import (
|
|
BaseEngineSpec, DatabaseCategory
|
|
)
|
|
|
|
class MyEngineSpec(BaseEngineSpec):
|
|
engine_name = "My Database"
|
|
|
|
metadata = {
|
|
"description": "Brief description of the database.",
|
|
"category": DatabaseCategory.TRADITIONAL_RDBMS,
|
|
"pypi_packages": ["my-driver"],
|
|
"connection_string": "mydb://{username}:{password}@{host}:{port}/{database}",
|
|
"logo": "mydb.svg",
|
|
"homepage_url": "https://mydb.example.com/",
|
|
"default_port": 5432,
|
|
}
|
|
```
|
|
|
|
See `superset/db_engine_specs/README.md` for full documentation.
|