-
Notifications
You must be signed in to change notification settings - Fork 2.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(ingest): powerbi # store powerbi entity descriptions #7154
feat(ingest): powerbi # store powerbi entity descriptions #7154
Conversation
metadata-ingestion/tests/integration/powerbi/golden_test_container.json
Outdated
Show resolved
Hide resolved
(Rebased on latest master) |
0f17c09
to
74c18a9
Compare
metadata-ingestion/src/datahub/ingestion/source/powerbi/powerbi.py
Outdated
Show resolved
Hide resolved
metadata-ingestion/src/datahub/ingestion/source/powerbi/rest_api_wrapper/data_classes.py
Show resolved
Hide resolved
metadata-ingestion/src/datahub/ingestion/source/powerbi/rest_api_wrapper/data_classes.py
Outdated
Show resolved
Hide resolved
if display_name: | ||
return display_name | ||
|
||
return "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we return None from here ? and make return type as optional[str]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The DashboardInfoClass
expects description to be str
and not Optional[str]
, if I change the return value to be optional, then all the descriptions change to description=formulate_description(....) or ""
which doesn't look too good to my eye. I'd like to keep the behavior as is just because it looks cleaner, what do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that is the case then use str() , it returns empty string. and this is the default value for description in DashboardInfoClass
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure whether I fixed it with my change, but I tried! :)
|
||
|
||
def formulate_description( | ||
display_name: Optional[str], description: Optional[str] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't quite get why we are changing the description to include the display name like this?
Feels like we should only take the raw description, not the display name
At min, we should leave a comment over this method describing why this is even necessary
I like that we are correctly extracting descriptions - totally jive with that. But why are we inserting the display name at the top? Feels a bit odd to change the description at all prior to ingestion? Hoping to gain answer before we merge this |
After syncing with @mohdsiddique , we agree that we should first remove any additional formatting from the description before merging this PR. Thanks |
Originally I kept the entity name in the description field just because it was there before my changes. Now I think the common consensus lies in the fact that there shouldn't be entity name in the description field. I think that's the only way to not use any formatting in the description field and keep the data readable. Certainly that makes a lot of sense. So, thinking from this point of view, would the PR be more mergeable if I just remove the |
Store description fields of Datasets, Reports and Dashboards from PowerBI REST API to ingested data. Showing the possible description of the entity in Datahub improves visibility and adds value to Datahub as there's no need to jump to other system just to see the documentation.
Checklist