Norikra

Schemaless stream processor querying JSON events in memory with Esper EPL.

Provider
default
Category
Messaging
Properties · 3 set by this component
propertytypevaluesrequiredkind defaultthis component
checkpointIntervalSecondsinteger—no—inherited
exactlyOnceboolean—nofalse▸ false
instancesinteger—no—inherited
lateDataPolicyenumdrop | shift | sidelineno—inherited
managedboolean—nofalse▸ false
persistsToDisk · component propertyboolean—nofalseinherited
queryLanguage · component propertyenumesper-eplnoesper-eplinherited
schemaless · component propertyboolean—notrueinherited
stateBackendenummemory | rocksdb | externalnomemory▸ memory
watermarkSecondsinteger—no—inherited
windowingenumnone | event-time | processing-timenononeinherited
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: "norikra", component: "norikra" }
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-processorRedpanda Connectredpanda-connectstream-processorRisingWaverisingwavestream-processorApache Samzasamzastream-processorSnowplowsnowplowstream-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
# Norikra: "Stream processing with SQL for everybody" - a JRuby/JVM server whose queries are "SQL with
# window specifier support (It's actually Esper's EPL)", including joins and subqueries. Input and
# output events are schemaless JSON, and state is memory only: "norikra stores query output events
# into built-in memory pool" and "norikra does not use disks" ("Norikra: Stream processing with SQL
# for everybody"). Windowing is per query, so none is claimed here.
schemaVersion: "1"
type: "component"
id: "norikra"
kind: "stream-processor"
provider: "default"
docs: "https://norikra.github.io/"
defaults:
  managed: false
  stateBackend: "memory"
  exactlyOnce: false
properties:
  schemaless:
    type: "boolean"
    default: true
  persistsToDisk:
    type: "boolean"
    default: false
  queryLanguage:
    type: "enum"
    values: ["esper-epl"]
    default: "esper-epl"

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