fix(superset): handle comma in dataset table name (#9656)

This commit is contained in:
Quentin FLEURENT NAMBOT 2024-01-20 10:24:23 +01:00 committed by GitHub
parent 20ad83d0b1
commit 6116599458
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9,7 +9,7 @@ from pydantic.class_validators import root_validator, validator
from pydantic.fields import Field from pydantic.fields import Field
from datahub.configuration import ConfigModel from datahub.configuration import ConfigModel
from datahub.emitter.mce_builder import DEFAULT_ENV from datahub.emitter.mce_builder import DEFAULT_ENV, make_dataset_urn
from datahub.ingestion.api.common import PipelineContext from datahub.ingestion.api.common import PipelineContext
from datahub.ingestion.api.decorators import ( from datahub.ingestion.api.decorators import (
SourceCapability, SourceCapability,
@ -223,15 +223,13 @@ class SupersetSource(StatefulIngestionSourceBase):
database_name = self.config.database_alias.get(database_name, database_name) database_name = self.config.database_alias.get(database_name, database_name)
if database_id and table_name: if database_id and table_name:
platform = self.get_platform_from_database_id(database_id) return make_dataset_urn(
platform_urn = f"urn:li:dataPlatform:{platform}" platform=self.get_platform_from_database_id(database_id),
dataset_urn = ( name=".".join(
f"urn:li:dataset:(" name for name in [database_name, schema_name, table_name] if name
f"{platform_urn},{database_name + '.' if database_name else ''}" ),
f"{schema_name + '.' if schema_name else ''}" env=self.config.env,
f"{table_name},{self.config.env})"
) )
return dataset_urn
return None return None
def construct_dashboard_from_api_data(self, dashboard_data): def construct_dashboard_from_api_data(self, dashboard_data):