Skip to main content

Connects FIWARE Context Brokers with fiware_pyspark_connector

Project description

py-spark

License: AGPL Support 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

:books: Documentation :whale: Docker Hub :dart: 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."

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fiware_pyspark_connector-0.0.6.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

fiware_pyspark_connector-0.0.6-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file fiware_pyspark_connector-0.0.6.tar.gz.

File metadata

File hashes

Hashes for fiware_pyspark_connector-0.0.6.tar.gz
Algorithm Hash digest
SHA256 9f91b8fd7fc69bd23cd6db46a14a0a8105b07731cfc2376bace2a682d865bd6d
MD5 6a26b7278637fcf40b595bebdc6cf243
BLAKE2b-256 0a5eb34d60619d919289d070479285760639acaa456950cc814c6e7a5c414dfe

See more details on using hashes here.

File details

Details for the file fiware_pyspark_connector-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for fiware_pyspark_connector-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 f84a16a8259eaca958cb79bd6df4115ea8f7e44f3eccb19bc7592915c9f8f694
MD5 3305418d572983748bf003cda3f71912
BLAKE2b-256 03c5cbb09a8219975ae28c0f86f81c0786b8cb81b027cd2f40a10888eea17a97

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page