mirror of
https://github.com/datahub-project/datahub.git
synced 2025-12-29 02:48:24 +00:00
fix(ingest/tableau): Add a try catch to LineageRunner parser (#7965)
This commit is contained in:
parent
99b75e4d60
commit
42999df06f
@ -1371,27 +1371,36 @@ class TableauSource(StatefulIngestionSourceBase):
|
||||
and tableau_constant.CONNECTION_TYPE in database
|
||||
):
|
||||
upstream_tables = []
|
||||
parser = LineageRunner(csql.get(tableau_constant.QUERY))
|
||||
query = csql.get(tableau_constant.QUERY)
|
||||
parser = LineageRunner(query)
|
||||
|
||||
for table in parser.source_tables:
|
||||
split_table = str(table).split(".")
|
||||
if len(split_table) == 2:
|
||||
datset = make_table_urn(
|
||||
env=self.config.env,
|
||||
upstream_db=database.get(tableau_constant.NAME),
|
||||
connection_type=database.get(
|
||||
tableau_constant.CONNECTION_TYPE, ""
|
||||
),
|
||||
schema=split_table[0],
|
||||
full_name=split_table[1],
|
||||
platform_instance_map=self.config.platform_instance_map,
|
||||
lineage_overrides=self.config.lineage_overrides,
|
||||
)
|
||||
upstream_tables.append(
|
||||
UpstreamClass(
|
||||
type=DatasetLineageType.TRANSFORMED, dataset=datset
|
||||
try:
|
||||
for table in parser.source_tables:
|
||||
split_table = str(table).split(".")
|
||||
if len(split_table) == 2:
|
||||
datset = make_table_urn(
|
||||
env=self.config.env,
|
||||
upstream_db=database.get(tableau_constant.NAME),
|
||||
connection_type=database.get(
|
||||
tableau_constant.CONNECTION_TYPE, ""
|
||||
),
|
||||
schema=split_table[0],
|
||||
full_name=split_table[1],
|
||||
platform_instance_map=self.config.platform_instance_map,
|
||||
lineage_overrides=self.config.lineage_overrides,
|
||||
)
|
||||
)
|
||||
upstream_tables.append(
|
||||
UpstreamClass(
|
||||
type=DatasetLineageType.TRANSFORMED, dataset=datset
|
||||
)
|
||||
)
|
||||
except Exception as e:
|
||||
self.report.report_warning(
|
||||
key="csql-lineage",
|
||||
reason=f"Unable to retrieve lineage from query. "
|
||||
f"Query: {query} "
|
||||
f"Reason: {str(e)} ",
|
||||
)
|
||||
upstream_lineage = UpstreamLineage(upstreams=upstream_tables)
|
||||
yield self.get_metadata_change_proposal(
|
||||
csql_urn,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user