# LF Edge eKuiper - Lightweight data stream processing engine for IoT edge

LF Edge eKuiper is a lightweight IoT data analytics and stream processing engine running on resource-constraint edge devices. The major goal for eKuiper is to provide a streaming software framework (similar to Apache Flink (opens new window)) in edge side. eKuiper's rule engine allows user to provide either SQL-based or graph based (similar to Node-RED) rules to create IoT edge analytics applications within few minutes.


# Features

  • Lightweight

    • Core server package is only about 4.5M, memory footprint is about 10MB.
  • Cross-platform

    • CPU Arch:X86 AMD 32/64; ARM 32/64; PPC
    • Popular Linux distributions, OpenWrt Linux, MacOS and Docker
    • Industrial PC, Raspberry Pi, industrial gateway, home gateway, MEC edge cloud server
  • Data analysis support

    • Support data ETL
    • Data order, group, aggregation and join with different data sources (the data from databases and files)
    • 60+ functions, includes mathematical, string, aggregate and hash etc
    • 4 time windows & count window
  • Highly extensible

    It supports extending at Source, Functions and Sink with Golang or Python.

    • Source: allows users to add more data sources for analytics.
    • Sink: allows users to send the analysis result to different customized systems.
    • UDF functions: allow users to add customized functions for data analysis (for example, AI/ML function invocation)
  • Management

  • Integration with EMQX products

    Seamless integration with EMQX (opens new window), Neuron (opens new window) & NanoMQ (opens new window), and provided an end-to-end solution from IIoT, IoV

# Understand eKuiper

Learn about eKuiper and its fundamental concepts.

View Concepts

# Try eKuiper

Follow tutorials to learn how to use eKuiper.

View Tutorials

# Look up reference information

Refer to the syntax and properties.

View Reference

# Learn how to use eKuiper

Learn how to create and manage rules and how to modify configurations, etc.

# Develop extensions

Learn how to develop custom extensions.

View Extension Programming

# Get Help

If you get stuck, check out our community support resources.

# Contribute

Anyone can contribute for anything, not just code.