/gcore-spark

Implementation of the G-CORE graph query language on Spark

Primary LanguageScalaApache License 2.0Apache-2.0

G-CORE interpreter on Spark

To build and run

The project will build successfully under Java 8. Spark 2.2.0 is needed to run the application. Spark can be downloaded from https://spark.apache.org/downloads.html.

To sumbit on Spark, the project needs to be compiled as an uber-jar. The -DskipTests flag can be used with the mvn package command to avoid running the tests when packaging the uber-jar.

The Spoofax parser uses Guice as a dependency injection framework. The Guice 4.0 jar needs to be passed separately to the driver as a spark.driver.extraClassPath property, otherwise the driver is not able to find it.

mvn package -DskipTests
spark-submit \
    --class GcoreRunner \
    --master local[2] \
    --conf "spark.driver.extraClassPath=/path_to/guice-4.0.jar" \
    target/gcore-interpreter-1.0-SNAPSHOT-jar-with-dependencies.jar

To run tests

mvn test