Skip to content

Instantly share code, notes, and snippets.

@junqueira
Forked from rer145/setup_scala.sh
Created June 9, 2021 03:05
Show Gist options
  • Save junqueira/b68a00edb29842c5cbeeaad45269b5c2 to your computer and use it in GitHub Desktop.
Save junqueira/b68a00edb29842c5cbeeaad45269b5c2 to your computer and use it in GitHub Desktop.
Setting up Scala on Google Cloud Shell
#!/bin/bash
echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2EE0EA64E40A89B84B2DF73499E82A75642AC823
sudo apt-get update
sudo apt-get install sbt
#!/bin/bash
PROJECT=$1
mkdir $PROJECT
cd $PROJECT
mkdir src
cd src
mkdir main
cd main
mkdir scala
cd ~/$PROJECT
touch build.sbt
cd src/main/scala
touch $PROJECT.scala
cd ~/$PROJECT
touch run_spark.sh && chmod 755 run_spark.sh
#setup build file
echo name := \"$PROJECT\" >> build.sbt
echo version := \"0.1\" >> build.sbt
echo scalaVersion := \"2.11.8\" >> build.sbt
echo libraryDependencies += \"org.apache.spark\" %% \"spark-core\" % \"2.2.0\" >> build.sbt
#setup spark file
TARGET="target/scala-2.11/"
TARGET+=${PROJECT,,} #echo $PROJECT | sed 's/\(.*\)/\L\1'
TARGET+="_2.11-0.1.jar"
echo "gcloud dataproc jobs submit spark --cluster mycluster --region us-central1 --jar $TARGET" >> run_spark.sh
#setup sample code file
cd ~/$PROJECT/src/main/scala/
echo "import org.apache.spark.SparkContext" >> $PROJECT.scala
echo "object $PROJECT {" >> $PROJECT.scala
echo " def main(args: Array[String]) {" >> $PROJECT.scala
echo " val sc=new SparkContext()" >> $PROJECT.scala
echo " println(\"Hello World\")" >> $PROJECT.scala
echo " }" >> $PROJECT.scala
echo "}" >> $PROJECT.scala
cd ~/$PROJECT
#build package
#sbt package
#execute package
#./run_spark.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment