Skip to content

Dataset Onboarding Workflow

The Dataset Onboarding Workflow (DATASET_ONBOARDING) provides a unified, controlled process for bringing a dataset into the platform, wherever it is originally stored. It accepts the dataset's metadata together with one or more data locations, makes the data available in the platform's storage, and registers the dataset in the Data Model Management service.

Input

The workflow accepts the following parameters:

Parameter Type Format Mandatory Description
id string uuid yes Globally unique identifier of the dataset. It's used throughout the workflow to associate metadata, stored files and lifecycle events with the same dataset.
dataLocations string JSON array yes JSON-encoded list of the locations where the dataset's data can be found. See Data Locations.
name string no Human-readable name of the dataset.
description string no Detailed description of the dataset's contents, scope and purpose.
headline string no Short, high-level summary of the dataset, typically shown in listings.
fields_of_science array of strings no Scientific or domain classifications of the dataset.
languages array of strings no Languages represented in the dataset's content.
keywords array of strings no Free-form keywords that improve discoverability.
countries array of strings no Countries relevant to the dataset, such as its geographic coverage.
publishedUrl string uri no Public URL where the dataset is published or described.
citeAs string no Recommended citation for the dataset.
license string no License under which the dataset is distributed.
doi string no Digital Object Identifier of the dataset, if one exists.
date_published string date no Publication date of the dataset. Defaults to the current date.
userId string no Identifier of the user who requested the onboarding, used for attribution and provenance.
workflow_process_step_information object yes Tracking information for the platform process step that this run belongs to. Supplied automatically by the platform. See Platform Integration.

Data Locations

Each entry in dataLocations is an object with a kind and a location:

[
  { "kind": "Http", "location": "https://example.org/data/measurements.csv" },
  { "kind": "Ftp",  "location": "ftp://ftp.example.org/pub/measurements.csv" }
]

kind can be given by name or by its numeric value:

Kind Value Description
File 0 The data is a file on a filesystem that's accessible to the orchestrator.
Http 1 The data can be downloaded from an HTTP(S) URL.
Ftp 2 The data can be downloaded from an FTP server. The location is an FTP URI.
Remote 3 The data is in a remote store that the platform accesses directly.
Staged 4 The data is already in the platform's storage.
Database 5 The data is in a relational database. The location identifies the database.

Tasks

flowchart LR
    A[Stage Dataset Files] --> B[Register Dataset]
    B --> C[Load Dataset]
    C --> D((Finish))

Stage Dataset Files

This task makes sure the dataset's data is available in the platform's storage area before the dataset is registered. Datasets come from many kinds of storage, so this step normalises them: downstream steps always work with locations that the platform controls.

All declared locations are processed in parallel:

  • File, Http and Ftp locations are retrieved and stored in a staging area dedicated to the dataset. Each stored file gets a unique name, so files never collide.
  • Remote, Staged and Database locations are already accessible to the platform and are passed on unchanged.

The task outputs the effective list of locations for the dataset. If any location can't be accessed or stored, the workflow fails at this step, so a dataset is never partially onboarded.

Register Dataset

This task registers the dataset and its metadata in the Data Model Management service, which makes the dataset discoverable, traceable and addressable in the platform. The registration also records provenance: which user requested the onboarding and when.

If registration fails, the workflow stops. A dataset is never loaded unless it has been registered.

Load Dataset

This task completes onboarding by informing the Data Model Management service that the dataset's data is in its final storage location, and updating the dataset's state. It doesn't change the metadata recorded at registration.

If the storage location isn't available yet when this step runs (for example, because an upstream process is still making it available), the step automatically retries a few times. Any other error fails the workflow immediately. The dataset stays registered, so the problem can be investigated and loading retried.

Completion

When the dataset has been loaded, the workflow notifies the platform that onboarding has finished. The notification includes how the dataset is stored (file-based or in a relational database), so the platform can configure and start the Dataset Profiling workflow, which is the next step of the dataset's lifecycle.