marquez icon indicating copy to clipboard operation
marquez copied to clipboard

Proposal: Adding `group` to search API

Open phixMe opened this issue 3 years ago • 1 comments

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.

image

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.

phixMe avatar Oct 15 '21 16:10 phixMe

I think we can leverage the work in https://github.com/MarquezProject/marquez/issues/1928 for this

collado-mike avatar Aug 18 '22 16:08 collado-mike