blob: 396a733b6396745ead68ce9350a8fb99058a972c [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper docs-doc-page docs-version-0.93.0 plugin-docs plugin-id-default docs-doc-id-user-guide-first-steps">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v2.4.1">
<title data-rh="true">First steps | Apache StreamPipes</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://streampipes.apache.org/img/favicon.png"><meta data-rh="true" name="twitter:image" content="https://streampipes.apache.org/img/favicon.png"><meta data-rh="true" property="og:url" content="https://streampipes.apache.org/docs/0.93.0/user-guide-first-steps/"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="0.93.0"><meta data-rh="true" name="docusaurus_tag" content="docs-default-0.93.0"><meta data-rh="true" name="docsearch:version" content="0.93.0"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-0.93.0"><meta data-rh="true" property="og:title" content="First steps | Apache StreamPipes"><meta data-rh="true" name="description" content="In this section, you&#x27;ll learn how to create and run pipelines in StreamPipes."><meta data-rh="true" property="og:description" content="In this section, you&#x27;ll learn how to create and run pipelines in StreamPipes."><link data-rh="true" rel="icon" href="/img/favicon.png"><link data-rh="true" rel="canonical" href="https://streampipes.apache.org/docs/0.93.0/user-guide-first-steps/"><link data-rh="true" rel="alternate" href="https://streampipes.apache.org/docs/0.93.0/user-guide-first-steps/" hreflang="en"><link data-rh="true" rel="alternate" href="https://streampipes.apache.org/docs/0.93.0/user-guide-first-steps/" hreflang="x-default"><link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache StreamPipes RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache StreamPipes Atom Feed">
<link rel="preconnect" href="//analytics.apache.org/">
<script>var _paq=window._paq=window._paq||[];_paq.push(["disableCookies"]),_paq.push(["trackPageView"]),_paq.push(["enableLinkTracking"]),function(){var a="//analytics.apache.org/";_paq.push(["setTrackerUrl",a+"matomo.php"]),_paq.push(["setSiteId","35"]);var e=document,p=e.createElement("script"),t=e.getElementsByTagName("script")[0];p.type="text/javascript",p.async=!0,p.src=a+"matomo.js",t.parentNode.insertBefore(p,t)}()</script>
<link rel="stylesheet" href="/css/slick.min.css">
<link rel="stylesheet" href="/css/slick-theme.min.css">
<link rel="stylesheet" href="/css/fonts.css">
<link rel="stylesheet" href="/css/admonition.css">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/code-block-buttons.css">
<link rel="stylesheet" href="/css/all.min.css">
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/buttons.css">
<link rel="stylesheet" href="/css/team.css">
<link rel="stylesheet" href="/css/custom-website.css">
<link rel="stylesheet" href="/css/page-banner.css">
<link rel="stylesheet" href="/css/responsive.css">
<script src="/js/jquery-3.3.1.min.js"></script>
<script src="/js/buttons.js"></script>
<script src="/js/slick.min.js"></script>
<script src="/js/custom.js"></script>
<script src="/js/clipboard.min.js"></script>
<script src="/js/code-block-buttons.js"></script><link rel="stylesheet" href="/assets/css/styles.a4107cef.css">
<link rel="preload" href="/assets/js/runtime~main.d38cef4e.js" as="script">
<link rel="preload" href="/assets/js/main.6ee83347.js" as="script">
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}return t}()||function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();t(null!==e?e:"light")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><div class="announcementBar_mb4j" style="background-color:var(--color-accent);color:white" role="banner"><div class="content_knG7 announcementBarContent_xLdY">Apache StreamPipes 0.97.0 is available! ⭐️</div></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/img/sp-logo-color.png" alt="Apache StreamPipes" class="themedImage_ToTc themedImage--light_HNdA"><img src="/img/sp-logo-color.png" alt="Apache StreamPipes" class="themedImage_ToTc themedImage--dark_i4oU"></div></a></div><div class="navbar__items navbar__items--right"><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/">Home</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Docs</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/docs/user-guide-introduction/">Apache StreamPipes - User Guide</a></li><li><a href="https://streampipes.apache.org/docs/docs/python/latest/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Apache StreamPipes - Python</a></li><li><a class="dropdown__link" href="/docs/faq-common-problems/">FAQ</a></li></ul></div><a class="navbar__item navbar__link" href="/download/">Download</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Resources</a><ul class="dropdown__menu"><li><a href="https://github.com/apache/streampipes/issues" target="_blank" rel="noopener noreferrer" class="dropdown__link">Issue Tracker<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://github.com/apache/streampipes/discussions" target="_blank" rel="noopener noreferrer" class="dropdown__link">Github Discussions Support<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="http://cwiki.apache.org/confluence/display/STREAMPIPES" target="_blank" rel="noopener noreferrer" class="dropdown__link">Developer wiki<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a class="dropdown__link" href="/resources/slides-videos/">Slides &amp; Videos</a></li></ul></div><a class="navbar__item navbar__link" href="/blog/">Blog</a><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Community</a><ul class="dropdown__menu"><li><a class="dropdown__link" href="/community/mailing-lists/">Mailing Lists</a></li><li><a class="dropdown__link" href="/community/team/">Team</a></li><li><a class="dropdown__link" href="/community/get-involved/">Get involved</a></li><li><a class="dropdown__link" href="/community/talks-events/">Talks &amp; Events</a></li></ul></div><div class="navbar__item dropdown dropdown--hoverable dropdown--right"><a href="#" aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link">Apache</a><ul class="dropdown__menu"><li><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer" class="dropdown__link">Apache Software Foundation<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/foundation/how-it-works.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">How Apache Works<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/licenses" target="_blank" rel="noopener noreferrer" class="dropdown__link">License<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/security" target="_blank" rel="noopener noreferrer" class="dropdown__link">Security<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Sponsoring Apache<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="dropdown__link">Thanks<svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div><a href="https://github.com/apache/streampipes" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-link h-github" aria-label="Apache StreamPipes Github"></a><a href="https://linkedin.com/company/apache-streampipes" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-link h-linkedin" aria-label="Apache StreamPipes LinkedIn"></a><a href="https://twitter.com/streampipes" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link header-link h-twitter" aria-label="Apache StreamPipes Twitter"></a><div class="searchBox_ZlJk"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0 docsWrapper_BCFX"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docPage__5DB"><main class="docMainContainer_gTbr docMainContainerEnhanced_Uz_u"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="theme-doc-version-banner alert alert--warning margin-bottom--md" role="alert"><div>This is documentation for <!-- -->Apache StreamPipes<!-- --> <b>0.93.0</b>, which is no longer actively maintained.</div><div class="margin-top--md">For up-to-date documentation, see the <b><a href="/docs/user-guide-first-steps/">latest version</a></b> (<!-- -->0.97.0<!-- -->).</div></div><div class="docItemContainer_Djhp"><article><span class="theme-doc-version-badge badge badge--secondary">Version: 0.93.0</span><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>First steps</h1></header><p>In this section, you&#x27;ll learn how to create and run pipelines in StreamPipes.
Before starting with this guide, all steps from the installation guide must be finished successfully and StreamPipes must be up and running.</p><p>This guide consists of three steps:
First, you&#x27;ll learn how to create your first pipeline using the interactive tutorial.
Afterwards, this section contains two examples on how to create pipelines based on the built-in data simulator.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="interactive-tutorial">Interactive Tutorial<a href="#interactive-tutorial" class="hash-link" aria-label="Direct link to Interactive Tutorial" title="Direct link to Interactive Tutorial"></a></h2><p>The easiest way to get started with StreamPipes is the interactive tutorial. Once you open the pipeline editor for the first time, you&#x27;ll see a splash screen as shown below.
Click <strong>Start tour</strong> to start the interactive tutorial, which will guide you through your first steps with StreamPipes.</p><p><img loading="lazy" alt="Interactive Tutorial" src="/assets/images/interactive-tutorial-4a3f90846ec9910680e1b6e1481db6fe.png" width="1920" height="931" class="img_ev3q"> </p><p>If the splash screen does not show up, make sure you&#x27;ve installed the following pipeline elements:</p><ul><li>Flow rate (data stream)</li><li>Numerical Filter (processing element)</li><li>Dashboard (data sink)</li></ul><p>After you&#x27;ve finished this very first tour, try the following tours to learn more about other features of StreamPipes:</p><ul><li>Open the Live Dashboard and start the dashboard tour (by clicking the school icon in the top menu bar) to learn how to create real-time visualizations</li><li>Open StreamPipes Connect and start the tour to learn how to connect new data sources with StreamPipes.</li></ul><h2 class="anchor anchorWithStickyNavbar_LWe7" id="first-examples">First Examples<a href="#first-examples" class="hash-link" aria-label="Direct link to First Examples" title="Direct link to First Examples"></a></h2><p>In this tutorial, you will create two simple pipelines that demonstrate the basic functionality of StreamPipes.
The first example deals with monitoring a flow rate sensor.
This pipeline ensures that everything works properly and data is sent through the whole system.
In the second example we model a more complex situation detection pipeline that triggers a notification.
Let&#x27;s start with our first pipeline.
If you have problems with any of the examples, please send us an email.
We are happy to help you.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="data-simulation">Data Simulation<a href="#data-simulation" class="hash-link" aria-label="Direct link to Data Simulation" title="Direct link to Data Simulation"></a></h2><p>All the data sources that we have integrated in the StreamPipes demonstrator are simulated according to real world sensors.
For example a flow rate sensor in a water pipe, which measures how much water flows in that pipe or a water level sensor in a water tank, that reports how high the water level is in the tank.
In the next section you will use the flow rate sensor to build your first pipeline.</p><h2 class="anchor anchorWithStickyNavbar_LWe7" id="flow-rate-visualization">Flow Rate Visualization<a href="#flow-rate-visualization" class="hash-link" aria-label="Direct link to Flow Rate Visualization" title="Direct link to Flow Rate Visualization"></a></h2><p>In the first example, we create a live line chart to monitor the value of the mass flow from a flow rate sensor.</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-pipeline">Create Pipeline<a href="#create-pipeline" class="hash-link" aria-label="Direct link to Create Pipeline" title="Direct link to Create Pipeline"></a></h3><ul><li>As a first step go to the pipeline editor</li><li>Select the <strong>FRS1</strong> (Flow Rate Source 1)source</li><li>Then navigate to the <strong>Data Sink</strong> tab</li><li>Select the <strong>DS</strong> (Dashboard Sink) and connect the source with the sink</li><li>After connecting the elements save the pipeline by clicking on the save button on the top left corner</li><li>In the save menu add a name <em>Flow Rate Monitoring</em> and a description <em>This is my very first pipeline!</em></li><li>Also select the <strong>Start pipeline immediatly</strong> checkbox</li><li>Then click the button <strong>Save and go to pipeline view</strong></li><li>You are navigated to the pipeline view and a confirmation that the pipeline was started successfully should be shown</li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/01_PipelineEditor_DataStreams.png" alt="Show Pipeline Editor Streams" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/02_example1_source.png" alt="Sources" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/03_example1_pipeline_finished.png" alt="Pipeline Finished" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/04_example1_save.png" alt="Saved Pipeline" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/05_example1_pipeline_started.png" alt="Pipeline 01 Started" class="img_ev3q"></div><h3 class="anchor anchorWithStickyNavbar_LWe7" id="create-visualization">Create Visualization<a href="#create-visualization" class="hash-link" aria-label="Direct link to Create Visualization" title="Direct link to Create Visualization"></a></h3><ul><li>After we have created the pipeline we must create the line chart</li><li>Navigate to the <strong>Live Dashboard</strong> of StreamPipes</li><li>Click on the <strong>Add visualization</strong> button</li><li>Select the just created pipeline <strong>Flow Rate Monitoring</strong> and click the <strong>next</strong> button</li><li>For the visualization select the <strong>Line Chart</strong> and click <strong>next</strong> again</li><li>Now you have to enter the configuration for the line chart<ul><li>Select time mapping: <strong>timestamp</strong></li><li>Select number mapping: <strong>mass_flow</strong></li><li>Range Minimum: <strong>0</strong> </li><li>Range Maximum: <strong>10</strong></li></ul></li><li>When all parameters are set correctly click the next button again.</li><li>Congratulation you created the first pipeline and should now see the line chart</li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/06_example01_live_visualisation.png" alt="Visualize Pipeline" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/07_example01_first_step.png" alt="Configure Visualization Step 1" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/08_example01_second_step.png" alt="Configure Visualization Step 2" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/09_example01_third_step.png" alt="Configure Visualization Step 3" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/10_example1_finished.png" alt="Pipeline 01 Done" class="img_ev3q"></div><h2 class="anchor anchorWithStickyNavbar_LWe7" id="condition-monitoring-of-a-water-tank">Condition monitoring of a water tank<a href="#condition-monitoring-of-a-water-tank" class="hash-link" aria-label="Direct link to Condition monitoring of a water tank" title="Direct link to Condition monitoring of a water tank"></a></h2><p>In our second example we are going to create a more complex pipeline.
This pipeline has two sources, the flow rate sensor from the previous example and a source measuring the water level in a tank.
Our goal is to send a notification when the flow rate stops and the water level in the water tank sinks too fast.
In this case a service technician should check the system as soon as possible.
This example should just illustrate how the individual components work.
Since the system currently uses simulated data each time the situation occurs a notification is triggered.</p><p>Now lets start!</p><h3 class="anchor anchorWithStickyNavbar_LWe7" id="build-the-pipeline">Build the pipeline<a href="#build-the-pipeline" class="hash-link" aria-label="Direct link to Build the pipeline" title="Direct link to Build the pipeline"></a></h3><ul><li>First we have to select the <strong>FRS1</strong> (Flow Rate Sensor 1) and <strong>WL1</strong> (Water Level) form the sources tab</li><li>In a first step we want to detect when the flow rate stops</li><li>Use the <strong>NF</strong> (Numerical Filter) from the processing elements tab and connect it to the <strong>FRS1</strong> source</li><li>Configure the <strong>Numerical Filter</strong>:<ul><li>Field name for filter operator: <strong>mass_flow</strong></li><li>Filter Operation: <strong>&lt;</strong></li><li>Threshold value: <strong>1</strong></li></ul></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/11_example2_start.png" alt="Start Example 2" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/12_example2_numerical.png" alt="Select Numericl Filter" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/13_example2_configure_numerical.png" alt="Configure Numerical Filter" class="img_ev3q"></div><ul><li>As a next step we add an aggregation to the water level. This reduces the inaccuracies we have because the water moves in the tank. </li><li>Select the <strong>A</strong> (Aggregation) processing element</li><li>Connect the <strong>WL1</strong> with <strong>A</strong></li><li>Configure <strong>Aggregation</strong>:<ul><li>Property Selection: <strong>level</strong></li><li>Operation: <strong>Average</strong></li><li>Time Window Size: <strong>10</strong></li><li>Output Frequency: <strong>1</strong></li><li>Groupe By: <strong>None</strong></li></ul></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/14_example2_aggregate.png" alt="Select Aggregation" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/15_example2_configure_aggregate.png" alt="Configure Aggregation" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/15_example2_configure_aggregate_2.png" alt="Configure Aggregation" class="img_ev3q"></div><ul><li>With the next processing element we check if the water level decreases too fast</li><li>Select <strong>I</strong> (Trend) and connect it to <strong>A</strong></li><li>Configure <strong>Trend</strong>:<ul><li>Timestamp field: <strong>timestamp</strong></li><li>Value to observe: <strong>aggregatedValue</strong> (This value is created by previous element)</li><li>Group by: <strong>sensorId</strong></li><li>Increase / Decrease: <strong>Decrease</strong></li><li>Percentage of Increase / Decrease: <strong>20</strong></li><li>Time Window Length: <strong>10</strong></li><li>Select Output: <strong>All</strong></li></ul></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/16_example2_increase.png" alt="Select Increase" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/17_example2_configure1_increase.png" alt="Configute 01 Increase" class="img_ev3q"></div><ul><li>Now we connect the two stream with the sequence element, which checks if both events occur in a certain time</li><li>Select <strong>S</strong> (Sequence) and connect both data streams to it</li><li>Configure <strong>Sequence</strong>:<ul><li>Time Window Size: <strong>1</strong></li><li>Time Unit: <strong>sec</strong></li></ul></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/19_example2_sequence.png" alt="Select Sequence Detection" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/20_example2_configure_sequence.png" alt="ConfigureSequence Detection" class="img_ev3q"></div><ul><li>Now we create a notification for the service technician that something is wrong with the system</li><li>Select <strong>N</strong> (Notification) from the data sink tab</li><li>Connect <strong>S</strong> with <strong>N</strong></li><li>Configure <strong>Notification</strong>: <ul><li>Notification title: <strong>Alarm</strong></li><li>Content: <strong>One notification was triggered by our first complex pipeline. Yeahhhh!</strong></li></ul></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/21_example2_notification.png" alt="Select Notification" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples_master/22_example2_configure_notification.png" alt="Configure Notification" class="img_ev3q"></div><ul><li>Add the dashboard sink to the increase element to monitor the preliminary results</li><li>Select <strong>DS</strong> and connect to <strong>I</strong></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/23_example2_dashboard_sink.png" alt="Select Dashboard" class="img_ev3q"></div><ul><li>Save the pipeline </li><li>Save configuration:<ul><li>Pipeline Name: <strong>Second Pipeline</strong></li><li>Description: <strong>Complex monitorung rule</strong></li><li>Start pipeline immediately: <strong>CHECK</strong></li></ul></li><li>Click <strong>Save and go to pipeline view</strong></li><li>All pipeline elements should be started successfully </li><li>It can be seen that the elements run on different technologies, in flink and a java container<ul><li>http://pe-flink-examples:8090</li><li>http://pe-jvm-examples:8090</li></ul></li><li>Go to visualization and create <strong>Raw Data</strong> visualization for the new pipeline<br></li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples_master/25_example2_started.png" alt="Pipeline Started Sucessfull" class="img_ev3q"><img loading="lazy" src="/img/quickstart/examples/26_example2_visualisation.png" alt="Add Visualization" class="img_ev3q"></div><ul><li>Every time you can see output in the <strong>Raw Data</strong> visualization of the new pipeline and the <strong>Line Chart</strong> from the first example are zero, a Notification is triggered by the pipeline.</li><li>Go to the <strong>Notifications</strong> view and have a look at the notification</li></ul><div class="my-carousel"><img loading="lazy" src="/img/quickstart/examples/27_example2_notification.png" alt="Show Notification" class="img_ev3q"></div><p>Congratulation you finished the quick start!
It is recommended to stop the last pipeline, because it will keep creating notifications ;)</p><p>We hope we gave you an easy quick start into StreamPipes.
If you have any questions or suggestions, just send us an email.
From here on you can explore all features in the <a href="/docs/0.93.0/user-guide-first-steps/user-guide-introduction/">User Guide</a> or go to the <a href="/docs/0.93.0/user-guide-first-steps/extend-setup/">Developer Guide</a> to learn how to write your own StreamPipes processing elements.</p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"></div><div class="col lastUpdated_vwxv"><span class="theme-last-updated">Last updated<!-- --> on <b><time datetime="2023-11-27T14:58:33.000Z">Nov 27, 2023</time></b> by <b>Tim</b></span></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#interactive-tutorial" class="table-of-contents__link toc-highlight">Interactive Tutorial</a></li><li><a href="#first-examples" class="table-of-contents__link toc-highlight">First Examples</a></li><li><a href="#data-simulation" class="table-of-contents__link toc-highlight">Data Simulation</a></li><li><a href="#flow-rate-visualization" class="table-of-contents__link toc-highlight">Flow Rate Visualization</a><ul><li><a href="#create-pipeline" class="table-of-contents__link toc-highlight">Create Pipeline</a></li><li><a href="#create-visualization" class="table-of-contents__link toc-highlight">Create Visualization</a></li></ul></li><li><a href="#condition-monitoring-of-a-water-tank" class="table-of-contents__link toc-highlight">Condition monitoring of a water tank</a><ul><li><a href="#build-the-pipeline" class="table-of-contents__link toc-highlight">Build the pipeline</a></li></ul></li></ul></div></div></div></div></main></div></div><footer class="container_yWIM"><div class="linksRow_XFIr"><div class="linksCol_rFJL"><div>ASF</div><ul><li class="footer__item"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer"><span></span><span>Foundation</span></a></li><li class="footer__item"><a href="https://www.apache.org/licenses/" target="_blank" rel="noopener noreferrer"><span></span><span>License</span></a></li><li class="footer__item"><a href="https://www.apache.org/events/" target="_blank" rel="noopener noreferrer"><span></span><span>Events</span></a></li><li class="footer__item"><a href="https://www.apache.org/security/" target="_blank" rel="noopener noreferrer"><span></span><span>Security</span></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer"><span></span><span>Sponsorship</span></a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer"><span></span><span>Thanks</span></a></li></ul></div><div class="linksCol_rFJL"><div>Community</div><ul><li class="footer__item"><a href="https://github.com/apache/streampipes/issues" target="_blank" rel="noopener noreferrer"><span></span><span>GitHub Issues</span></a></li><li class="footer__item"><a href="https://github.com/apache/streampipes/discussions" target="_blank" rel="noopener noreferrer"><span></span><span>Github Discussions</span></a></li><li class="footer__item"><a href="https://twitter.com/StreamPipes" target="_blank" rel="noopener noreferrer"><span></span><span>Twitter</span></a></li><li class="footer__item"><a href="https://www.linkedin.com/company/apache-streampipes" target="_blank" rel="noopener noreferrer"><span></span><span>LinkedIn</span></a></li></ul></div><div class="linksCol_rFJL"><div>More</div><ul><li class="footer__item"><a target="_parent" href="/blog/"><span></span><span>Blog</span></a></li><li class="footer__item"><a href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_parent" rel="noopener noreferrer"><span></span><span>Privacy</span></a></li></ul></div></div><div class="copyright_AoBa"><a href="https://www.apache.org/" target="_blank" rel="noopener noreferrer"><span style="display:inline-block;width:231.25px;height:40px"></span></a><div>Copyright © 2019-2025 The Apache Software Foundation. Apache StreamPipes, Apache, the Apache feather logo, and the Apache StreamPipes project logo are either registered trademarks or trademarks of the Apache Software Foundation.</div></div></footer></div>
<script src="/assets/js/runtime~main.d38cef4e.js"></script>
<script src="/assets/js/main.6ee83347.js"></script>
</body>
</html>