Coder Social home page Coder Social logo

engineering-research-and-development / fiware-orion-pyspark-connector Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 2.44 MB

Bidirectional Orion/Orion-LD <--> PySpark Connector

License: GNU Affero General Public License v3.0

Python 81.80% Dockerfile 2.85% Shell 15.35%
cognitive ngsi ngsi-ld ngsi-v2 orion orion-context-broker processing pyspark python spark orion-ld fiware

fiware-orion-pyspark-connector's Introduction

py-spark

License: AGPL Support badge
Quay badge Docker badge
Documentation badge Status CI CII Best Practices Coverage Status

The FIWARE PySpark Connector is a FIWARE Generic Enabler (GE) creating a data bridge between the FIWARE Context Brokers and PySpark
This project is part of FIWARE For more information check the FIWARE Catalogue

📚 Documentation quay.io 🐳 Docker Hub 🎯 Roadmap

Table of Contents

What Is FIWARE PySpark Connector

FIWARE PySpark Connector is a FIWARE Generic Enabler (GE) made of a receiver and a replier subcomponents allowing a bidirectional communication between the FIWARE Context Brokers (CB) and PySpark. The component works on a low-level socket communication implementing a message passing interface between the two aforementioned counterparts. This interface is equipped with a parser function, hence permitting the creation of both NGSIv2 and NGSI-LD entities ready to use in a custom PySpark algorithm. Once data are preprocessed inside the PySpark evnironment, the component also provide a write-back interface (via REST API) to the CBs.

Why Use FIWARE PySpark Connector

FIWARE PySpark Connector was created with the idea of expanding the FIWARE CB's environment to merge with python's one. Python is currently one of the most used programming languages for data analysis, providing lots of scientific libraries for data processing and visualization. Context brokers such as Orion, on the other hand, are powerful tools allowing the management of context elements and sending updates via subscriptions. This connector is able to open a communication path between these two instruments and to combine the advantages they provide at a little-to-none cost.

Component Architecture

Pysparkconnector drawio

The FIWARE-PySpark receiver is currently a custom tool capable of receiving HTTP messages from a context broker and transform them to produce a batched stream of NGSI events to be processed by a PySpark job. The tool is represented in the above diagram and it is made of:

  • Connector Library: Set of functions to receive and reply to the context broker
  • Connector configuration file: Configuration file to configure the connector servers and mode, class definition for NGSI Events and Parameter configuration for replier side.
  • Subscribing Tool: Optional Library browsing the available entities in the context broker and allowing an easier subscription.

License

The FIWARE PySpark Connector is licensed under Affero General Public License (GPL) version 3.

© 2022 Engineering Ingegneria Informatica S.p.A.

PySpark Connector has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreements No 870062 CAPRI.

Are there any legal issues with AGPL 3.0? Is it safe for me to use?

No problem in using a product licensed under AGPL 3.0. Issues with GPL (or AGPL) licenses are mostly related with the fact that different people assign different interpretations on the meaning of the term “derivate work” used in these licenses. Due to this, some people believe that there is a risk in just using software under GPL or AGPL licenses (even without modifying it).

For the avoidance of doubt, the owners of this software licensed under an AGPL 3.0 license wish to make a clarifying public statement as follows:

"Please note that software derived as a result of modifying the source code of this software in order to fix a bug or incorporate enhancements is considered a derivative work of the product. Software that merely uses or aggregates (i.e. links to) an otherwise unmodified version of existing software is not considered a derivative work, and therefore it does not need to be released as under the same license, or even released as open source."

fiware-orion-pyspark-connector's People

Contributors

emiliocimino avatar gabrieledeluca avatar jason-fox avatar mattiamarzano-eng avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

jason-fox

fiware-orion-pyspark-connector's Issues

Where can I find versioned Docker images?

I'm looking to use the pyspark connector, but I can't find the Versioned images anyway - there is no link on the README, could you advice me as to where to find them?

There is one latest image found at: rdlabengpa/fiware-orion-pyspark-connector but there is no version tag to obtain stable images.

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.