diff --git a/metadata-ingestion/src/datahub/ingestion/source/superset.py b/metadata-ingestion/src/datahub/ingestion/source/superset.py index 08708d25de445..c1baa120c2b87 100644 --- a/metadata-ingestion/src/datahub/ingestion/source/superset.py +++ b/metadata-ingestion/src/datahub/ingestion/source/superset.py @@ -452,10 +452,16 @@ def construct_chart_from_chart_data(self, chart_data: dict) -> ChartSnapshot: chart_url = f"{self.config.display_uri}{chart_data.get('url', '')}" datasource_id = chart_data.get("datasource_id") - dataset_response = self.get_dataset_info(datasource_id) - datasource_urn = self.get_datasource_urn_from_id( - dataset_response, self.platform - ) + if not datasource_id: + logger.debug( + f'chart {chart_data["id"]} has no datasource_id, skipping fetching dataset info' + ) + datasource_urn = None + else: + dataset_response = self.get_dataset_info(datasource_id) + datasource_urn = self.get_datasource_urn_from_id( + dataset_response, self.platform + ) params = json.loads(chart_data.get("params", "{}")) metrics = [