web-dev-qa-db-ja.com

Spark:sparkシェルからsparkファイルを実行する方法


CDH 5.2を使用しています。 spark-Shellを使用してコマンドを実行できます。

  1. sparkコマンドを含むファイル(file.spark)を実行するにはどうすればよいですか。
  2. SbtなしでCDH 5.2でscalaプログラムを実行/コンパイルする方法はありますか?

前もって感謝します

52
Ramakrishna

Spark-Shellから外部ファイルをロードするには、単に

:load PATH_TO_FILE

これにより、ファイル内のすべてが呼び出されます。

申し訳ありませんが、SBTの質問に対する解決策はありません:-)

91
Steve

コマンドラインでは、次を使用できます

spark-Shell -i file.scala

file.scalaで書かれたコードを実行する

123
Ziyao Li

Sbtまたはmavenを使用して、sparkプログラムをコンパイルできます。 sparkをMavenへの依存関係として追加するだけです

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

そして依存関係:

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

sparkコマンドを使用してファイルを実行するという点では、単純にこれを実行できます。

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

コマンドスクリプトを実行します。

cat spark.input | spark-Shell
11
javadba

答えをもっと見やすくするために

Spark-Shellはscala repl

:helpと入力すると、scalaシェル内で可能な操作のリストを表示できます。

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

:loadはファイル内の行を解釈します

7
Achyuth