Вам не хватает ;
для разделения 2 операторов.
Программирование на Scala, первое издание
В программе Scala точка с запятой в конце оператора обычно необязательна. Вы можете ввести один, если хотите, но вам не нужно
если утверждение появляется само по себе в одной строке.
С другой стороны, точка с запятой требуется, если вы пишете несколько операторов в одной строке:
val s = "hello"; println(s)
Пример рабочего примера Error
(точно так же, как в вашем коде):
scala> val rnd = Math.random() val n = Math.abs(rnd)
<console>:1: error: ';' expected but 'val' found.
val rnd = Math.random() val n = Math.abs(rnd)
^
Пример рабочего примера Fixed
:
scala> val rnd = Math.random(); val n = Math.abs(rnd)
rnd: Double = 0.5940919229549699
n: Double = 0.5940919229549699
Итак, в вашем случае, у вас есть 2 варианта, чтобы заставить его работать:
Option1:
val bankDF = bankrdd.toDF(); bankDF.registerTempTable("bankfull")
Опция 2:
val bankDF = bankrdd.toDF()
bankDF.registerTempTable("bankfull")
with the following output:
scala> val bankDF = bankrdd.toDF(); bankDF.registerTempTable("bankfull")
warning: there was one deprecation warning; re-run with -deprecation for details
bankDF: org.apache.spark.sql.DataFrame = [value: string]