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 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.decorators import (
SourceCapability,
@ -223,15 +223,13 @@ class SupersetSource(StatefulIngestionSourceBase):
database_name = self.config.database_alias.get(database_name, database_name)
if database_id and table_name:
platform = self.get_platform_from_database_id(database_id)
platform_urn = f"urn:li:dataPlatform:{platform}"
dataset_urn = (
f"urn:li:dataset:("
f"{platform_urn},{database_name + '.' if database_name else ''}"
f"{schema_name + '.' if schema_name else ''}"
f"{table_name},{self.config.env})"
return make_dataset_urn(
platform=self.get_platform_from_database_id(database_id),
name=".".join(
name for name in [database_name, schema_name, table_name] if name
),
env=self.config.env,
)
return dataset_urn
return None
def construct_dashboard_from_api_data(self, dashboard_data):