Time series syncs

Time series syncs hold time-value pairs associated with any number of time series (keyed by seriesIds), enabling performant indexing on each series and associated time-value pairs. Time series syncs are backed by datasets or streams and are the backing data sources for time series properties.

When Foundry resolves a time series property on a given object time series property, the seriesId contained in the property’s value will be searched for within that property’s data sources and its associated time series data will be returned.

Time series syncs require the following columns:

  1. seriesId: The identifier of a series (string).
  2. timestamp: The time the associated value occurred (timestamp or long).
    • For long typed time columns, the units must be specified. Available units include seconds, milliseconds, microseconds or nanoseconds.
  3. value: The value of the series at a given timestamp (double, integer, float or string).
  4. Ingestion time: (optional): The time at which the streaming data points were ingested (timestamp).

If a time series property is backed by more than one time series sync, the seriesIds in the property values must be fully contained within a single time series sync.

The size of the transforms profile required for the projection built when creating a time series sync scales with the size of the input dataset. For datasets larger than 10 TB, we recommend splitting your dataset up into multiple datasets, partitioned by series identifier, then creating syncs off of these smaller datasets.

Create a time series sync

We recommend using Pipeline Builder to create time series syncs. Review our documentation section for guidance on adding data, creating transforms, and setting sync targets. Alternatively, you can set them up manually.

  1. If you are following along with the setup assistant, select Go to Builder.

The prompt in the series setup assistant.

Alternatively, navigate to the Pipeline Builder application and create a new pipeline.

  1. Import your time series data and apply the necessary transforms to fit the shape of a time series sync.

  2. Once your data has been transformed to the correct shape, create a time series sync target.

Set time series sync targets in Pipeline Builder

  1. Next, configure the column mappings.

The time series sync target configuration in Pipeline Builder

  1. Deploy the pipeline to create and build the time series sync. This will create both the backing dataset and the time series sync.

Pipeline Builder currently does not support mapping a long typed column to the time series sync's timestamp column.

  1. Return to the Ontology Manager application, and add this time series sync as a data source to the time series property.

Repeat these steps for any additional time series properties you wish to add. If your sync contains all of your series IDs, then you can select the same sync for the new time series properties instead of creating a new one.

Be sure to select Save in Ontology Manager to save your changes. If you created a new object type and this is your first time saving a change, you will need to wait until initial indexing is complete before you can analyze TSPs. Check the index status by navigating to the Datasources tab for the object type in Ontology Manager.

Review how to use time series to learn more about how you can analyze your newly configured time series data.

Time series catalog application

The time series catalog application is used for advanced time series sync configuration. The application can be reached by opening a time series sync resource or by manually navigating to https://<domain>/workspace/time-series-catalog-app.

Advanced time series configuration includes the following capabilities:

  1. Stop inheriting markings from the input dataset or stream. Review our time series permissions documentation for more details.
  2. Set Spark or Flink compute profiles.
    • We recommend using the default compute profile. If no profiles are added, the default compute profile will be used.
  3. Set a schedule to build the time series sync automatically on input dataset updates. Review our event triggers and schedules documentation for more information.
  4. Overwrite the seriesIds in a specified time series sync that are present in the current time series sync. This is an advanced functionality reserved for legacy time series setup.

The example below shows a time series sync backed by a dataset:

Time series catalog app

If the time series sync was created in Pipeline Builder, all of the fields that Pipeline Builder can configure will override any configuration set within the time series catalog application. For example, if changes were made to column mappings in the time series catalog application, but the time series sync was created in Pipeline Builder, the changes will be overridden the next time the creating pipeline is run.