Оболочка Spark: Как скопировать многострочный внутри? - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть программа Scala, которую я хочу выполнить, используя оболочку Spark, теперь, когда я копирую вставить в оболочку spark, она не работает, я должен копировать построчно внутрь.

Как мне скопироватьвсе программы внутри оболочки?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 19 сентября 2019

Мне нужно больше объяснений от вас.Но я думаю, вы пытаетесь сделать что-то подобное:

spark.read.parquet(X)
.filter("ll")
.groupBy("iii")
.agg("kkk")

И это не работает.Вместо этого вы можете сделать:

spark.read.parquet(X).
    filter("ll").
    groupBy("iii").
    agg("kkk")

Поставить точку в конце строки.

Я надеюсь, что это то, что вы ищете.

0 голосов
/ 19 сентября 2019

В spark-shell вам просто нужно использовать команду ": paste"

scala> :paste
// Entering paste mode (ctrl-D to finish)

val empsalary = Seq(
  Salary("sales", 1, 5000),
  Salary("personnel", 2, 3900),
  Salary("sales", 3, 4800),
  Salary("sales", 4, 4800),
  Salary("personnel", 5, 3500),
  Salary("develop", 7, 4200),
  Salary("develop", 8, 6000),
  Salary("develop", 9, 4500),
  Salary("develop", 10, 5200),
  Salary("develop", 11, 5200))
.toDS.toDF

Затем используйте ctrl-D, чтобы выйти из этого режима.Вы можете увидеть вывод:

// Exiting paste mode, now interpreting.

empsalary: org.apache.spark.sql.DataFrame = [depName: string, empNo: bigint ... 1 more field]
0 голосов
/ 19 сентября 2019

просто сохраните ваш код в текстовый файл и используйте :load <path_to_your_script> в spark-shell

...