From 702045c19989141b4d3665ceff71d7580a1c1776 Mon Sep 17 00:00:00 2001 From: lucananni93 Date: Sun, 9 Apr 2017 11:50:22 +0200 Subject: [PATCH] added image of the architecture Former-commit-id: 9eecef2275cf7336f6f962c1a20b40e8b9cb1904 --- README.md | 32 +++----------------------------- images/PyGML - Architecture.png | Bin 0 -> 53620 bytes 2 files changed, 3 insertions(+), 29 deletions(-) create mode 100644 images/PyGML - Architecture.png diff --git a/README.md b/README.md index 61ff625..8f681d3 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,5 @@ # GMQL-Python -Python-Spark implementation of the GMQL system +API for calling interactively the GMQL Engine from Python -## Requirements -- A python environment -- Apache Spark -- The following GMQL modules exported as a jar file - - GMQL-Core - - GMQL-Server - - GMQL-Spark -- The following python libraries: - - pandas - - tqdm - - spylon - - -## Set up of the project -The following procedure is very stupid and not user friendly and it will be changed ASAP: -1. Download this repository -2. In the file [__init__.py](gmql/__init__.py) set the `c.jars` attribute with the paths of the GMQL jar files listed above -3. In the file [__init__.py](gmql/__init__.py) set the `c._spark_home` attribute with the path of your spark installation -4. Install the code with `pip install .` - -## Example of usage -Your spark engine is instantiated when you call the following -```python -import gmql as gl -``` - -## Tests -In the folder [tests](./tests) you can find some examples of using the library +## Architecture +![Image of the architecture](./images/PyGML - Architecture.png) diff --git a/images/PyGML - Architecture.png b/images/PyGML - Architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..52ccf9e8c2d9f2c9e1d64a4438938e22a13f2d33 GIT binary patch literal 53620 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

@F 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