Ich bin Anfänger zu funken und scala. Ich wollte etwas Code innerhalb eines Bash-Skripts ausführen. Ich habe den folgenden Code geschrieben.Führen Apache Spark (Scala) Code in Bash-Skript
Scala-Code wurde in einer separaten .scala
Datei wie folgt geschrieben.
Scala Code:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
object SimpleApp {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
println("x="+args(0),"y="+args(1))
}
}
Dies ist der Bash-Skript, das den Apache-Funken/scala Code aufruft.
Bash-Code
#!/usr/bin/env bash
Absize=File_size1
AdBsize=File_size2
for i in `seq 2 $ABsize`
do
for j in `seq 2 $ADsize`
do
Abi=`sed -n ""$i"p" < File_Path1`
Adj=`sed -n ""$j"p" < File_Path2`
scala SimpleApp.scala $Abi $adj
done
done
Aber dann bekomme ich die folgenden Fehler.
Fehler:
error:object apache is not a member of package org
import org.apache.spark.SparkContext
^
error: object apache is not a member of package org
import org.apache.spark.SparkContext._
^
error: object apache is not a member of package org
import org.apache.spark.SparkConf
^
error: not found:type SparkConf
val conf = new SparkConf().setAppName("Simple Application") ^
error: not found:type SparkContext
Der obige Code funktioniert perfekt, wenn die scala Datei ohne Funken Funktion geschrieben wird (Das ist eine reine scala-Datei), aber nicht, wenn es Apache-Funken Importe.
Was wäre eine gute Möglichkeit zum Ausführen und Ausführen von diesem Bash-Skript? Muss ich Spark Shell aufrufen, um den Code auszuführen?
Versuchen gesagt läuft Funken Kern Abhängigkeit in der Klasse-Pfad wie scala -classpath „* .jar“ YourFile.scala – FaigB
ich den folgenden Befehl verwendet, zur Verfügung zu stellen scala -classpath einfach-project_2.11-1.0.jar SimpleApp.scala $ Abi $ adj aber immer noch gibt es einen gleichen Fehler @FaigB – Aroon
Wenn Sie spark lokal verwenden im Klassenpfad jar von $ spark_home/lib/spark-core_2. 10- {Version} .jar ODER Download von https://mvnrepository.com/artifect/org.apache.spark/spark-core_2.10 und setzen Sie Klassenpfad – FaigB