DatasetDefinition

data class DatasetDefinition(val sources: List<DatasetSource>, val subject: String, val columns: List<DatasetColumn>, val joins: List<DatasetJoin> = emptyList(), val filters: List<String> = emptyList(), val identity: String? = null, val eventTime: String? = null)

What a wide table is made of (-2): catalog sources, each under an alias, the joins that bring every source but the subject in, the columns it shows, and the filters its rows pass.

  • The subject is the principal source: its tenant, owner and space columns are the dataset's scope, as tenant_id, owner_id and space_id.

  • Every join keys on the tenant: one of its keys pairs the tenant columns of the two sides, unless the joined source is a platform dimension, declared and approved as such.

  • A reference to a source's column is <alias>.<column>, or <alias>.<column>.<path> for a value inside a JSON column; a computed column and a filter are expressions over such references and the functions the catalog allows.

  • identity and eventTime name columns of the dataset: the one that identifies a row, and when it last changed.

Constructors

Link copied to clipboard
constructor(sources: List<DatasetSource>, subject: String, columns: List<DatasetColumn>, joins: List<DatasetJoin> = emptyList(), filters: List<String> = emptyList(), identity: String? = null, eventTime: String? = null)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard