web-dev-qa-db-fra.com

Spark: comment exécuter le fichier spark à partir du shell spark


J'utilise CDH 5.2. Je suis capable d'utiliser spark-Shell pour exécuter les commandes.

  1. Comment puis-je exécuter le fichier (file.spark) qui contient les commandes spark.
  2. Existe-t-il un moyen d'exécuter/compiler les programmes scala dans CDH 5.2 sans sbt?

Merci d'avance

52
Ramakrishna

Pour charger un fichier externe depuis spark-Shell, il suffit de

:load PATH_TO_FILE

Cela appellera tout dans votre fichier.

Je n'ai pas de solution à votre question SBT mais désolé :-)

91
Steve

En ligne de commande, vous pouvez utiliser

spark-Shell -i file.scala

pour exécuter le code écrit en file.scala

123
Ziyao Li

Vous pouvez utiliser sbt ou maven pour compiler les programmes spark. Ajoutez simplement le spark comme dépendance de maven

<repository>
      <id>Spark repository</id>
      <url>http://www.sparkjava.com/nexus/content/repositories/spark/</url>
</repository>

Et puis la dépendance:

<dependency>
      <groupId>spark</groupId>
      <artifactId>spark</artifactId>
      <version>1.2.0</version>
</dependency>

En termes d’exécution d’un fichier avec les commandes spark: vous pouvez simplement faire ceci:

echo"
   import org.Apache.spark.sql.*
   ssc = new SQLContext(sc)
   ssc.sql("select * from mytable").collect
" > spark.input

Maintenant, lancez le script de commandes:

cat spark.input | spark-Shell
11
javadba

Juste pour donner plus de perspective aux réponses

Spark-Shell est un scala repl

Vous pouvez taper : help pour voir la liste des opérations possibles dans le scala Shell

scala> :help
All commands can be abbreviated, e.g., :he instead of :help.
:edit <id>|<line>        edit history
:help [command]          print this summary or command-specific help
:history [num]           show the history (optional num is commands to show)
:h? <string>             search the history
:imports [name name ...] show import history, identifying sources of names
:implicits [-v]          show the implicits in scope
:javap <path|class>      disassemble a file or class name
:line <id>|<line>        place line(s) at the end of history
:load <path>             interpret lines in a file
:paste [-raw] [path]     enter paste mode or paste a file
:power                   enable power user mode
:quit                    exit the interpreter
:replay [options]        reset the repl and replay all previous commands
:require <path>          add a jar to the classpath
:reset [options]         reset the repl to its initial state, forgetting all session entries
:save <path>             save replayable session to a file
:sh <command line>       run a Shell command (result is implicitly => List[String])
:settings <options>      update compiler options, if possible; see reset
:silent                  disable/enable automatic printing of results
:type [-v] <expr>        display the type of an expression without evaluating it
:kind [-v] <expr>        display the kind of expression's type
:warnings                show the suppressed warnings from the most recent line which had any

: charge les lignes d'interprétation dans un fichier

7
Achyuth