Snowplow

Event pipeline that collects, validates and enriches behavioural events.

Provider
default
Category
Messaging
Properties · 2 set by this component
propertytypevaluesrequiredkind defaultthis component
checkpointIntervalSecondsinteger—no—inherited
cookieExpiryDays · component propertyinteger—no365inherited
edition · component propertyenumcommunity-edition | self-hosted-production | private-managed-cloud | cdi-cloudnocommunity-editioninherited
exactlyOnceboolean—nofalseinherited
failedEventStream · component propertyboolean—notrueinherited
instancesinteger—no—inherited
lateDataPolicyenumdrop | shift | sidelineno—inherited
managedboolean—nofalse▸ false
stateBackendenummemory | rocksdb | externalnomemoryinherited
streamBackend · component propertyenumkinesis | pubsub | kafka | nsq | sqsno—inherited
watermarkSecondsinteger—no—inherited
windowingenumnone | event-time | processing-timenonone▸ none
Rules that apply · 1

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
Use it in a design
nodes:
  - { id: "snowplow", component: "snowplow" }
Other Stream processor products · 33
Realtime Compute for Apache Flinkalibaba-flinkalibabacloudstream-processorAmazon EventBridge Pipesaws-eventbridge-pipesawsstream-processorAmazon Data Firehoseaws-firehoseawsstream-processorAmazon Managed Service for Apache Flinkaws-managed-flinkawsstream-processorAmazon OpenSearch Ingestionaws-opensearch-ingestionawsstream-processorAzure Stream Analyticsazure-stream-analyticsazurestream-processorCloudflare Logpushcloudflare-logpushcloudflarestream-processorCloudflare Pipelinescloudflare-pipelinescloudflarestream-processorArroyoarroyostream-processorApache Beambeamstream-processorBytewaxbytewaxstream-processorDrasidrasistream-processorApache Flinkflinkstream-processorKafka Streamskafka-streamsstream-processorksqlDBksqldbstream-processorLogstashlogstashstream-processorMaterializematerializestream-processorApache NiFinifistream-processorNorikranorikrastream-processorRedpanda Connectredpanda-connectstream-processorRisingWaverisingwavestream-processorApache Samzasamzastream-processorSpark Structured Streamingspark-streamingstream-processorApache Stormstormstream-processorGeneric stream processorstream-processorstream-processorTremortremorstream-processorGoogle Cloud Dataflowgoogle-dataflowgcpstream-processorManufacturing Data Enginegoogle-manufacturing-data-enginegcpstream-processorActivity Tracker Event Routingibm-activity-tracker-event-routingibmstream-processorIBM Cloud Logs Routingibm-logs-routingibmstream-processorIBM Cloud Metrics Routingibm-metrics-routingibmstream-processorOCI Connector Huboci-connector-hubocistream-processorOCI GoldenGate Stream Analyticsoci-goldengate-stream-analyticsocistream-processor
Source
# 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

The same page as markdown, for an agent: /catalogue/components/snowplow.md