Refer to this doc if you're only interested in adding a new aspect to an existing entity
Currently, DataHub only has a support for 3 entity types:
If you want to extend DataHub with your own use cases such as
dashboards etc, you should follow the below steps in order.
Also we use this following diagram to help you visualize the process.
Refer to here for URN definition.
Refer to metadata modelling section. Make sure to do the following:
- Define Aspect models.
- Define aspect union model. Refer to
DatasetAspectas an example.
- Define Snapshot model. Refer to
DatasetSnapshotas an example.
- Add your newly defined snapshot to Snapshot Union model.
Refer to search onboarding if you need to search the entity.
Refer to graph onboarding if you need to perform graph queries against the entity.
If you want to use this new entity type from the ingestion framework's REST-based sink, you'll need to add it to the new endpoint to the resource list.
GMS uses Spring Framework for dependency injection. You'll need to add various factories to create any custom DAOs used by the rest.li endpoint. You'll also need to add any custom package to the
<context:component-scan> tag in beans.xml