2014-12-31 4 views
37


Я использую CDH 5.2. Я могу использовать искровую оболочку для запуска команд. как я могу запустить файл (file.spark), который содержит команды искры. Во-вторых, есть ли способ запускать/компилировать программы scala в CDH 5.2 без sbt?Spark: как запустить искровой файл из искровой оболочки

Спасибо заранее,

ответ

57

Чтобы загрузить внешний файл с искровым оболочки просто сделать

:load PATH_TO_FILE 

Это будет вызывать все, что в вашем файле.

У меня нет решения для вашего SBT вопрос, хотя жаль :-)

+1

Привет, эта команда работает, если у меня есть файл на локальной машине, но можно ли отнести это местоположение как путь hdfs. то есть: загрузить hdfs: // localhost: 9000/file –

+0

Это не работает для меня. Я использую CDH 5.7 быстрый старт VM –

7

Вы можете использовать любой SBT или Maven для компиляции искровых программ. Просто добавьте искры в зависимости к 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> 

С точки зрения запуска файла с искровым командами: вы можете просто сделать это:

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

Теперь запустите скрипт команд:

cat spark.input | spark-shell 
+0

Downvoting на явно полезный ответ будет по крайней мере, заслуживает объяснения вашей озабоченности. – javadba

83

В командной строке, вы можете использовать

spark-shell -i file.scala 

запустить код, написанный на file.scala

+4

Спасибо, потому что это не в 'spark shell -h' – hbogert

+4

Я пробовал команду, но она не запускает код из файла, а запускает scala shell –

+1

@AlexRajKaliamoorthy Возможно, я опоздал , Просто пытаюсь помочь вашему комментарию/вопросу. Он выполняет все же, однако вам нужно включить System.exit (0) в конец скрипта, чтобы выйти из искровой оболочки – letsBeePolite

1

Чтобы дать больше взглядов на ответы

Искры-оболочка - это скала-отталкивание

Вы можете ввести : помочь, чтобы увидеть список операций, которые возможны внутри лестницу оболочки

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 

: нагрузка интерпретировать строки в файле

Смежные вопросы