marquez
marquez copied to clipboard
Proposal: Adding `group` to search API
The current implementation of our search API returns the following object:
interface SearchResult {
name: string;
namespace: string;
nodeId: string;
type: JobOrDataset;
updatedAt: string;
}[]
We currently create a group
property on our client-side by parsing the nodeId
property, but this is an imperfect solution because it makes assumptions about the naming conventions of the nodeId
Our current implementation parses dot notation which works OK for some schedulers like Airflow that use this notation for their workflows. It doesn't work very well for file-based datasets or schedulers that don't use dot notation.
We would like to have our backend determine an appropriate group
name and resolve this level of ambiguity so it doesn't exist on the client, but also provides a rich, grouped search experience.
Proposed
interface SearchResult {
name: string;
namespace: string;
nodeId: string;
type: JobOrDataset;
updatedAt: string;
+ group: string
}[]
Further Discussion
We will need to discuss the exact nuances of the group
name for the various places we get data from.
I think we can leverage the work in https://github.com/MarquezProject/marquez/issues/1928 for this