Coder Social home page Coder Social logo

jlleitschuh / incubator-streampipes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/streampipes

0.0 2.0 0.0 227.55 MB

Apache StreamPipes - A self-service (Industrial) IoT toolbox to enable non-technical users to connect, analyze and explore IoT data streams.

Home Page: https://streampipes.apache.org

License: Apache License 2.0

Java 56.38% Shell 0.23% HTML 10.86% Dockerfile 0.10% JavaScript 4.45% TypeScript 23.99% CSS 3.35% Roff 0.64%

incubator-streampipes's Introduction

Github Actions Docker pulls Maven central License Last commit Twitter


StreamPipes Logo

Self-Service Data Analytics for the (Industrial) IoT

StreamPipes is a self-service (Industrial) IoT toolbox to enable non-technical users to connect , analyze and explore IoT data streams.

StreamPipes Pipeline
     Editor


Table of contents


About Apache StreamPipes

Apache StreamPipes (incubating) enables flexible modeling of stream processing pipelines by providing a graphical modeling editor on top of existing stream processing frameworks.

It leverages non-technical users to quickly define and execute processing pipelines based on an easily extensible toolbox of data sources, data processors and data sinks. StreamPipes has an exchangeable runtime execution layer and executes pipelines using one of the provided wrappers, e.g., for Apache Flink or Apache Kafka Streams.

Pipeline elements in StreamPipes can be installed at runtime - the built-in SDK allows to easily implement new pipeline elements according to your needs. Pipeline elements are standalone microservices that can run anywhere - centrally on your server, in a large-scale cluster or close at the edge.

Use Cases

StreamPipes allows you to connect IoT data sources using the SDK or the built-in graphical tool StreamPipes Connect.

The extensible toolbox of data processors and sinks supports use cases such as

  • Continuously store IoT data streams to third party systems (e.g., databases)
  • Filter measurements on streams (e.g., based on thresholds or value ranges)
  • Harmonize data by using data processors for transformations (e.g., by converting measurement units and data types or by aggregating measurements)
  • Detect situations that should be avoided (e.g., patterns based on time windows)
  • Wrap Machine Learning models into data processors to perform classifications or predictions on sensor and image data
  • Visualize real-time data from sensors and machines using the built-in Live Dashboard

Installation

The quickest way to run StreamPipes is the Docker-based installer script available for Unix, Mac and Windows (10).

It's easy to get started:

  1. Make sure you have Docker and Docker Compose installed.
  2. Clone or download the installer script from https://www.github.com/apache/incubator-streampipes-installer
  3. Execute ./streampipes start
  4. Enter the hostname and choose the version you'd like to run (the Lite version runs with less memory assigned to Docker (< 6 GB), use the full version if you have more memory available)
  5. Open your browser, navigate to http://YOUR_HOSTNAME_HERE and follow the installation instructions.
  6. Once finished, switch to the pipeline editor and start the interactive tour or check the online tour to learn how to create your first pipeline!

For a more in-depth manual, read the installation guide at https://streampipes.apache.org/docs/docs/user-guide-installation/!

Pipeline Elements

StreamPipes includes a repository of ready-to-use pipeline elements. A description of the standard elements can be found in the Github repository streampipes-extensions.

Extending StreamPipes

You can easily add your own data streams, processors or sinks. A Java-based SDK and several run-time wrappers for popular streaming frameworks such as Apache Flink, Apache Spark and Apache Kafka Streams (and also plain Java programs) can be used to integrate your existing processing logic into StreamPipes. Pipeline elements are packaged as Docker images and can be installed at runtime, whenever your requirements change.

Check our developer guide at https://streampipes.apache.org/docs/docs/dev-guide-introduction.

Bugs and Feature Requests

If you've found a bug or have a feature that you'd love to see in StreamPipes, feel free to create an issue in our Jira: https://issues.apache.org/jira/projects/STREAMPIPES

Get help

If you have any problems during the installation or questions around StreamPipes, you'll get help through one of our community channels:

And don't forget to follow us on Twitter!

Contribute

We welcome contributions to StreamPipes. If you are interested in contributing to StreamPipes, let us know! You'll get to know an open-minded and motivated team working together to build the next IIoT analytics toolbox.

Here are some first steps in case you want to contribute:

  • Subscribe to our dev mailing list [email protected]
  • Send an email, tell us about your interests and which parts of Streampipes you'd like to contribute (e.g., core or UI)!
  • Ask for a mentor who helps you understanding the code base and guides you through the first setup steps
  • Find an issue in our Jira which is tagged with a newbie tag
  • Have a look at our developer wiki at https://cwiki.apache.org/confluence/display/STREAMPIPES/Home to learn more about StreamPipes development.

Have fun!

Feedback

We'd love to hear your feedback! Subscribe to [email protected]

License

Apache License 2.0

incubator-streampipes's People

Contributors

chrisdutz avatar dominikriemer avatar jochenlutz avatar smlabt avatar tejoha avatar tenthe avatar wipatrick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.