Firebird/Introduction: Difference between revisions

From stonehomewiki
Jump to navigationJump to search
No edit summary
 
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
<p> [[Firebird]] </p>
<p> [[Firebird]] </p>
= Beirf =
= Beirf =
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="mw-collapsible-preview">Brief</div>
<div class="mw-collapsible-preview">Brief</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
* [https://github.com/stonezhong/firebird Source Code in Github]
Firebird is a Python based Stream Processing Framework
Firebird is a Python based Stream Processing Framework
* Make it easy to create streaming processing data pipeline using python
* Make it easy to create streaming processing data pipeline using python
* Make it easy to deploy your pipeline to Kubernete Cluster, so your pipeline can run at scale.
* Make it easy to deploy your pipeline to Kubernete Cluster, so your pipeline can run at scale.
* A Management Web UI to visualize your pipeline topology.
* A Management Web UI to visualize your pipeline topology.
* The firebird framework encourage you to write reusable streaming processing unit and encapsulate it in Generator or Node or Sink.
* The firebird framework encourages you to write reusable streaming processing unit and encapsulate it in Generator or Node or Sink.
</div>
</div>
</div>
</div>
<p></p>
<p></p>


= Make it easy to create streaming processing data pipeline using python =
= Use Python to build streaming pipeline =
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="mw-collapsible-preview"></div>
<div class="mw-collapsible-preview"></div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Your python code could be as simple as below. All you need to do is, create Generates, Nodes and Sinks, and assemble them together using >> or << operator. If you have experience with Apache Airflow, you should be quite familiar with this model.
Your python code could be as simple as below. All you need to do is, create Generates, Nodes and Sinks, and assemble them together using <code>>></code> or <code><<</code> operator. If you have experience with Apache Airflow, you should be quite familiar with this model.


<pre><nowiki>
<pre><nowiki>
Line 66: Line 69:
<p></p>
<p></p>


= Make it easy to deploy your pipeline to Kubernete Cluster =
= Easy to deploy to Kubernete Cluster =
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="mw-collapsible-preview">Brief</div>
<div class="mw-collapsible-preview">Brief</div>
Line 79: Line 82:
<p></p>
<p></p>


= A Management Web UI to visualize your pipeline topology =
= Web UI =
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="mw-collapsible-preview">Brief</div>
<div class="mw-collapsible-preview">Home Page</div>
<div class="mw-collapsible-content">
Home page shows all pipelines. You can see
* <code>ID</code>, each pipeline has a unique id
* <code>Namespace</code>, each pipeline is deployed in a kubernete namespace
* <code>Image</code>, the name of the docker image for the pipeline
* <code>Module</code>, the python module name that contains the main pipeline entry.
* <code>Running</code>, show if the pipeline is currently running or not.
* <code>Description</code>, show the description of the pipeline.
 
<html><img src="https://mywiki.s3.amazonaws.com/firebird-home-ui.png" width="100%"></html>
</div>
</div>
<p></p>
 
<div class="toccolours mw-collapsible mw-collapsed expandable">
<div class="mw-collapsible-preview">Pipeline Page</div>
<div class="mw-collapsible-content">
<div class="mw-collapsible-content">
Show the details of a given pipeline. Here is an example:
* <code>ID</code>, each pipeline has a unique id
* <code>Namespace</code>, each pipeline is deployed in a kubernete namespace
* <code>Image</code>, the name of the docker image for the pipeline
* <code>Module</code>, the python module name that contains the main pipeline entry.
* <code>Running</code>, show if the pipeline is currently running or not.
* <code>Description</code>, show the description of the pipeline.
* <code>Diagram</code>, show the topology of the pipeline. You can click each node to see the node details.
* <code>Executors</code>, if the pipeline is running, you can see the status of each executor.
* You can click the "Start" button to start the pipeline
* You can click the "Stop" button to stop the pipeline
<html><img src="https://mywiki.s3.amazonaws.com/firebird-pipeline-ui.png"></html>


<br /><br />
<h2>Node dialog box</h2>
If you click a node, or a generator or a sink, you will see a node dialog box, it show the id, title and description of the node. It also shows what are the connected ports, so you know the upstream node and downstream node.
<html><img src="https://mywiki.s3.amazonaws.com/firebird-pipeline-node-dialog-ui.png"></html>
</div>
</div>
</div>
</div>
<p></p>
<p></p>

Latest revision as of 10:51, 15 September 2023

Firebird

Beirf

Use Python to build streaming pipeline

Easy to deploy to Kubernete Cluster

Web UI