Snowplow
Stream processorsnowplow
Event pipeline that collects, validates and enriches behavioural events.
- Provider
- default
- Kind
- Stream processor
- Category
- Messaging
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| checkpointIntervalSeconds | integer | — | no | — | inherited |
| cookieExpiryDays | integer | — | no | 365 | inherited |
| edition | enum | community-edition | self-hosted-production | private-managed-cloud | cdi-cloud | no | community-edition | inherited |
| exactlyOnce | boolean | — | no | false | inherited |
| failedEventStream | boolean | — | no | true | inherited |
| instances | integer | — | no | — | inherited |
| lateDataPolicy | enum | drop | shift | sideline | no | — | inherited |
| managed | boolean | — | no | false | ▸ false |
| stateBackend | enum | memory | rocksdb | external | no | memory | inherited |
| streamBackend | enum | kinesis | pubsub | kafka | nsq | sqs | no | — | inherited |
| watermarkSeconds | integer | — | no | — | inherited |
| windowing | enum | none | event-time | processing-time | no | none | ▸ none |
Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.
windowed-aggregation-without-watermark
Event-time windows need a watermark to know when a window is complete. Without one the processor either waits forever or closes windows early and silently drops late events.
- — all of these hold:
- — the node's `windowing` is "event-time"
- — the node's `watermarkSeconds` has no value
nodes:
- { id: "snowplow", component: "snowplow" }Realtime Compute for Apache Flinkalibaba-flinkAmazon EventBridge Pipesaws-eventbridge-pipesAmazon Data Firehoseaws-firehoseAmazon Managed Service for Apache Flinkaws-managed-flinkAmazon OpenSearch Ingestionaws-opensearch-ingestionAzure Stream Analyticsazure-stream-analyticsCloudflare Logpushcloudflare-logpushCloudflare Pipelinescloudflare-pipelinesArroyoarroyoApache BeambeamBytewaxbytewaxDrasidrasiApache FlinkflinkKafka Streamskafka-streamsksqlDBksqldbLogstashlogstashMaterializematerializeApache NiFinifiNorikranorikraRedpanda Connectredpanda-connectRisingWaverisingwaveApache SamzasamzaSpark Structured Streamingspark-streamingApache StormstormGeneric stream processorstream-processorTremortremorGoogle Cloud Dataflowgoogle-dataflowManufacturing Data Enginegoogle-manufacturing-data-engineActivity Tracker Event Routingibm-activity-tracker-event-routingIBM Cloud Logs Routingibm-logs-routingIBM Cloud Metrics Routingibm-metrics-routingOCI Connector Huboci-connector-hubOCI GoldenGate Stream Analyticsoci-goldengate-stream-analytics
# yaml-language-server: $schema=../../schema/component.schema.json # Snowplow: event pipeline that collects, validates and enriches behavioural events before loading # them into a warehouse, lake or stream. The Stream Collector "receives raw Snowplow events sent # over HTTP by trackers or webhooks ... and writes them to a sink" - Kinesis, Pub/Sub, Kafka, NSQ # or SQS - and sets a first-party tracking cookie with a one year expiry ("Stream Collector"). # Enrichment is per event, not windowed; Community Edition is deployed and run by you ("Get started"). schemaVersion: "1" type: "component" id: "snowplow" kind: "stream-processor" provider: "default" docs: "https://docs.snowplow.io/docs/api-reference/stream-collector/" defaults: managed: false windowing: "none" properties: edition: type: "enum" values: ["community-edition", "self-hosted-production", "private-managed-cloud", "cdi-cloud"] default: "community-edition" streamBackend: type: "enum" values: ["kinesis", "pubsub", "kafka", "nsq", "sqs"] failedEventStream: type: "boolean" default: true cookieExpiryDays: type: "integer" default: 365