diff --git a/Makefile b/Makefile index 7c658f3..b941ad1 100644 --- a/Makefile +++ b/Makefile @@ -9,6 +9,9 @@ UID := $(shell id -u) mobileinsight.sif: mobileinsight.def "$(APPTAINER)" build --build-arg="NUM_THREADS=$(NUM_THREADS)" "$@" "$<" +mobileinsight-spark.sif: with-spark.def mobileinsight.sif + "$(APPTAINER)" build "$@" "$<" + prepare: @mkdir -p "$(OVERLAY_DIR)" @lsmod | grep overlay > /dev/null || sudo modprobe overlay @@ -17,6 +20,10 @@ run: mobileinsight.sif prepare @$(APPTAINER) run --overlay "$(OVERLAY_DIR)" \ -B "/run/user/$(UID)" mobileinsight.sif +run-spark: mobileinsight-spark.sif prepare + @$(APPTAINER) run --overlay "$(OVERLAY_DIR)" \ + -B "/run/user/$(UID)" mobileinsight-spark.sif + clean: rm -rf *.sif $(OVERLAY_DIR) diff --git a/with-spark.def b/with-spark.def new file mode 100644 index 0000000..21aea93 --- /dev/null +++ b/with-spark.def @@ -0,0 +1,22 @@ +Bootstrap: localimage +From: mobileinsight.sif + +%arguments + SPARK_URL="https://dlcdn.apache.org/spark/spark-3.5.1/spark-3.5.1-bin-hadoop3.tgz" + +%environment + export SPARK_LOCAL_IP="127.0.0.1" + +%post + # Update and install dependencies + mkdir -p /build + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get upgrade -y + apt-get install -y \ + openjdk-8-jre-headless \ + scala + pip3 install pyspark==3.5.1 + + # Cleanup + apt-get autoclean -y