Null engine

When writing to a Null table, data is ignored. When reading from a Null Data Source, the response is empty.

You can use the Null engine to create a Materialized View from a Null table that transforms the data as it's sent to the Null Data Source so the Target Data Source will receive the transformed data and the original will be discarded.

Example: for masking some PII data.

event.datasource
SCHEMA > `action` LowCardinality(String) `json:$.action`, `timestamp` DateTime64(3) `json:$.timestamp`, `version` LowCardinality(String) `json:$.version`, `userEmail` String `json:$.userEmail` DEFAULT '', `workspaceId` String `json:$.workspaceId` DEFAULT '', `payload` String `json:$.payload` ENGINE Null 
mask_events_mat.pipe
DESCRIPTION > Mask events for mat view NODE maskEvents SQL > SELECT action, timestamp, version, cityHash64(userEmail) as userEmailMasked, workspaceId, payload FROM event TYPE Materialized DATASOURCE event_masked 
event_masked.datasource
SCHEMA > `action` LowCardinality(String), `timestamp` DateTime64(3), `version` LowCardinality(String), `userEmailMasked` UInt64, `workspaceId` String , `payload` String ENGINE MergeTree ENGINE_PARTITION_KEY toYear(timestamp) ENGINE_SORTING_KEY action, workspaceId, timestamp 
Updated