fix(ingest): add missing subtype modifier (#14563)

This commit is contained in:
Aseem Bansal 2025-08-26 21:49:55 +05:30 committed by GitHub
parent 0462415095
commit ec25174c36
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 29 additions and 7 deletions

View File

@ -1,5 +1,5 @@
{ {
"generated_at": "2025-07-31T12:54:30.557618+00:00", "generated_at": "2025-08-26T04:27:09.672087+00:00",
"generated_by": "metadata-ingestion/scripts/capability_summary.py", "generated_by": "metadata-ingestion/scripts/capability_summary.py",
"plugin_details": { "plugin_details": {
"abs": { "abs": {
@ -646,7 +646,10 @@
{ {
"capability": "CONTAINERS", "capability": "CONTAINERS",
"description": "Enabled by default", "description": "Enabled by default",
"subtype_modifier": null, "subtype_modifier": [
"Dremio Space",
"Dremio Source"
],
"supported": true "supported": true
}, },
{ {
@ -1245,7 +1248,8 @@
"capability": "CONTAINERS", "capability": "CONTAINERS",
"description": "Enabled by default", "description": "Enabled by default",
"subtype_modifier": [ "subtype_modifier": [
"Catalog" "Catalog",
"Schema"
], ],
"supported": true "supported": true
}, },
@ -2230,7 +2234,10 @@
{ {
"capability": "CONTAINERS", "capability": "CONTAINERS",
"description": "Enabled by default", "description": "Enabled by default",
"subtype_modifier": null, "subtype_modifier": [
"Workspace",
"Semantic Model"
],
"supported": true "supported": true
}, },
{ {
@ -2427,7 +2434,8 @@
"capability": "CONTAINERS", "capability": "CONTAINERS",
"description": "Enabled by default", "description": "Enabled by default",
"subtype_modifier": [ "subtype_modifier": [
"Catalog" "Catalog",
"Schema"
], ],
"supported": true "supported": true
}, },

View File

@ -54,6 +54,8 @@ class DatasetContainerSubTypes(StrEnum):
ABS_CONTAINER = "ABS container" ABS_CONTAINER = "ABS container"
KEYSPACE = "Keyspace" # Cassandra KEYSPACE = "Keyspace" # Cassandra
NAMESPACE = "Namespace" # Iceberg NAMESPACE = "Namespace" # Iceberg
DREMIO_SPACE = "Dremio Space"
DREMIO_SOURCE = "Dremio Source"
class BIContainerSubTypes(StrEnum): class BIContainerSubTypes(StrEnum):
@ -63,6 +65,7 @@ class BIContainerSubTypes(StrEnum):
TABLEAU_SITE = "Site" TABLEAU_SITE = "Site"
TABLEAU_PROJECT = "Project" TABLEAU_PROJECT = "Project"
TABLEAU_WORKBOOK = "Workbook" TABLEAU_WORKBOOK = "Workbook"
POWERBI_WORKSPACE = "Workspace"
POWERBI_DATASET = "Semantic Model" POWERBI_DATASET = "Semantic Model"
POWERBI_DATASET_TABLE = "Table" POWERBI_DATASET_TABLE = "Table"
QLIK_SPACE = "Qlik Space" QLIK_SPACE = "Qlik Space"

View File

@ -14,6 +14,7 @@ from datahub.emitter.mce_builder import (
from datahub.emitter.mcp import MetadataChangeProposalWrapper from datahub.emitter.mcp import MetadataChangeProposalWrapper
from datahub.emitter.mcp_builder import ContainerKey from datahub.emitter.mcp_builder import ContainerKey
from datahub.ingestion.api.workunit import MetadataWorkUnit from datahub.ingestion.api.workunit import MetadataWorkUnit
from datahub.ingestion.source.common.subtypes import DatasetContainerSubTypes
from datahub.ingestion.source.dremio.dremio_entities import ( from datahub.ingestion.source.dremio.dremio_entities import (
DremioContainer, DremioContainer,
DremioDataset, DremioDataset,
@ -364,9 +365,9 @@ class DremioAspects:
) -> Optional[BrowsePathsV2Class]: ) -> Optional[BrowsePathsV2Class]:
paths = [] paths = []
if entity.subclass == "Dremio Space": if entity.subclass == DatasetContainerSubTypes.DREMIO_SPACE.value:
paths.append(BrowsePathEntryClass(id="Spaces")) paths.append(BrowsePathEntryClass(id="Spaces"))
elif entity.subclass == "Dremio Source": elif entity.subclass == DatasetContainerSubTypes.DREMIO_SOURCE.value:
paths.append(BrowsePathEntryClass(id="Sources")) paths.append(BrowsePathEntryClass(id="Sources"))
if paths: if paths:
return BrowsePathsV2Class(path=paths) return BrowsePathsV2Class(path=paths)

View File

@ -90,6 +90,10 @@ class DremioSourceMapEntry:
@capability( @capability(
SourceCapability.CONTAINERS, SourceCapability.CONTAINERS,
"Enabled by default", "Enabled by default",
subtype_modifier=[
SourceCapabilityModifier.DREMIO_SPACE,
SourceCapabilityModifier.DREMIO_SOURCE,
],
) )
@capability(SourceCapability.DATA_PROFILING, "Optionally enabled via configuration") @capability(SourceCapability.DATA_PROFILING, "Optionally enabled via configuration")
@capability(SourceCapability.DESCRIPTIONS, "Enabled by default") @capability(SourceCapability.DESCRIPTIONS, "Enabled by default")

View File

@ -40,6 +40,7 @@ from datahub.ingestion.api.workunit import MetadataWorkUnit
from datahub.ingestion.source.common.subtypes import ( from datahub.ingestion.source.common.subtypes import (
BIAssetSubTypes, BIAssetSubTypes,
BIContainerSubTypes, BIContainerSubTypes,
SourceCapabilityModifier,
) )
from datahub.ingestion.source.powerbi.config import ( from datahub.ingestion.source.powerbi.config import (
Constant, Constant,
@ -1229,6 +1230,10 @@ class Mapper:
@capability( @capability(
SourceCapability.CONTAINERS, SourceCapability.CONTAINERS,
"Enabled by default", "Enabled by default",
subtype_modifier=[
SourceCapabilityModifier.POWERBI_WORKSPACE,
SourceCapabilityModifier.POWERBI_DATASET,
],
) )
@capability(SourceCapability.DESCRIPTIONS, "Enabled by default") @capability(SourceCapability.DESCRIPTIONS, "Enabled by default")
@capability(SourceCapability.OWNERSHIP, "Enabled by default") @capability(SourceCapability.OWNERSHIP, "Enabled by default")

View File

@ -174,6 +174,7 @@ class HiveMetastore(BasicSQLAlchemyConfig):
"Enabled by default", "Enabled by default",
subtype_modifier=[ subtype_modifier=[
SourceCapabilityModifier.CATALOG, SourceCapabilityModifier.CATALOG,
SourceCapabilityModifier.SCHEMA,
], ],
) )
class HiveMetastoreSource(SQLAlchemySource): class HiveMetastoreSource(SQLAlchemySource):