Exposing full flow through API

KTE
Level 1
Exposing full flow through API

Hi,

My understanding is API services can be used to expose models (input: feature values, output: prediction).

What about exposing a full flow?
E.g. Iโ€™d like to expose through a single API request, a flow that:

  1. Takes as input multiple CSVs
    The CSVs can't be referenced in the flow as they are generated outside of DSS just before I need to consume the flow.
  2. Executes the flow using these CSVs as input to clean them and join them
  3. Then return the last output of the flow (joined dataset) as a CSV.

Is it possible to do so using DSS?

Thanks

0 Kudos
1 Reply
HarizoR
Developer Advocate

Hi KTE,

This sounds like a use-case for Dataiku Applications. The intuition behind this feature is to allow users to create templated parametrized projects where they can define:

- which input(s) to use and how to provide them (e.g. by uploading a CSV or fetching a SQL table)

- which output(s) are desired: it can be the final Dataset of a Flow exported as CSV, a dashboard, etc.

- what actions are to be performed via a scenario (e.g. build the whole Flow, compute metrics/checks, etc.)

Once the template project (which is called a Dataiku Application) is defined, users can create instances out of it, very much like how you would instantiate objects from a class in object-oriented programming. 

Moreover, for advanced use-cases, it is possible to programmatically create instances using the DSS API. At their core, application instances are plain DSS projects, so they can be manipulated using the Projects API endpoints.

If you want a short overview of the feature, you can watch this video. If you want a more detailed walkthrough of the possibilities, the reference documentation has a dedicated section.

Hope this helps!

 

Best,

Harizo