feat(ingest/superset): emit dataPlatformInstance for dashboards and charts - #19879
Open
Danishlynx wants to merge 1 commit into
Open
Danishlynx wants to merge 1 commit into
Danishlynx wants to merge 1 commit into
Conversation
…harts Superset has accepted platform_instance since datahub-project#9647 but never emitted the dataPlatformInstance aspect, so the Navigate panel files every dashboard and chart under "Default" no matter how many deployments are ingested. Add a get_data_platform_instance helper, modelled on Tableau's except that it returns nothing when platform_instance is unset, so existing deployments and the five existing goldens are untouched. Append the aspect at the dashboard and chart snapshot sites and declare the PLATFORM_INSTANCE capability. Preset builds on this source and inherits both with no code of its own; a unit test pins that its aspect resolves to the preset platform. Datasets are deliberately left out. Their URNs are built through get_datasource_urn_from_id with plain make_dataset_urn and carry no instance (the instance-aware gen_dataset_urn helper exists but is unused), so an aspect on them would name an instance the URN does not have, and two deployments exposing the same table would overwrite each other's aspect on the one entity. Making the dataset URN instance-aware is a breaking change that also moves chart-to-dataset lineage, so it belongs with the containers follow-up. A unit test pins the omission and the TODO says why. Tests: unit present/absent cases for dashboards and charts, an empty-string case, the Preset inheritance cases, and one integration test with a new golden that sets platform_instance. Docs: a Platform instance section on both connector pages. The connector registry JSON is regenerated. Fixes datahub-project#11153
Danishlynx
force-pushed
the
feat-superset-platform-instance
branch
from
September 23, 2026 06:27
7eaed99 to
637466a
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #11153.
Superset has accepted
platform_instancesince #9647 but never emitted thedataPlatformInstanceaspect, so the Navigate panel files every dashboard and chart under "Default" no matter how many deployments you ingest. The code carried a TODO for exactly this.Changes
superset.py: aget_data_platform_instancehelper, modelled on Tableau's except that it returns nothing whenplatform_instanceis unset, so existing deployments and the five existing goldens are untouched; the aspect appended at the dashboard and chart snapshot sites; thePLATFORM_INSTANCEcapability declared. Preset builds on this source and inherits both with no code of its own; a unit test pins that its aspect resolves tourn:li:dataPlatform:preset.platform_instance.Datasets are deliberately not in this PR
Superset builds dataset URNs through
get_datasource_urn_from_id, which uses plainmake_dataset_urn, so those URNs carry no instance (the instance-awaregen_dataset_urnhelper exists in the file but is unused). Emitting the aspect on datasets would name an instance the URN does not have, and two deployments exposing the same database, schema and table would overwrite each other's aspect on the one entity. Making the dataset URN instance-aware is a breaking URN change that also has to move the chart-to-dataset lineage edges, so it belongs with the containers follow-up rather than here. A unit test pins that datasets get no aspect, the TODO says why, and the docs say the same.Notes for review
DashboardSnapshotandChartSnapshotaspect lists rather than going out as a separate MCP, matching how this source emits today. Containers in the follow-up will go out as MCP workunits beside the snapshots, the way Mode does.platform_instanceis unset. The new golden carries exactly seven aspects (two dashboards, five charts).test_connection.Checklist
Summary by cubic
Fixes #11153. Superset has accepted
platform_instancesince #9647 but never emitted thedataPlatformInstanceaspect, so the Navigate panel filed every dashboard and chart under "Default". Now Superset and Preset emit the aspect on dashboards and charts whenplatform_instanceis set; when it isn't, output is unchanged.Datasets
Tests and docs
PLATFORM_INSTANCEcapability.Written for commit 637466a. Summary will update on new commits.