Я пытаюсь запустить пример кода по этой ссылке: https://databricks-prod-cloudfront.cloud.databricks.com/public/4027ec902e239c93eaaa8714f173bcfc/5537430417240233/312903576646278/3506802399907740/latest.html
Я запускаю его в записной книжке блоков данных в кластере со временем выполнения 6.3 (включая Apache Spark 2.4.4, Scala 2.11) Сначала я создаю фрейм данных, используя
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder.getOrCreate
import spark.implicits._
val df = Seq(
("one", 2.0),
("two", 1.5),
("three", 8.0)
).toDF("id", "val")
, а затем пытаюсь получить список строк, запустив df.select("id").map(_.getString(0)).collect.toList
и получаю ошибку ниже
java .lang.NoSuchMethodError: scala .Predef $ .refArrayOps ([Ljava / lang / Object;) [Ljava / lang / Object;
t line3700fe51392b4abe9744f6b470 $$ iw $$ iw $$ iw $$ iw $$ iw $$ iw $$ iw. (command-1275538363433250: 2) на line3700fe51392b4abe9744f6b3a059dbfa46. $ read $$ iw $$ iw $$ iw $$ iw $ $ iw $$ iw $$ iw. (command-1275538363433250: 53) в строке 3700fe51392b4abe9744f6b3a059dbfa46. $ read $$ iw $$ iw $$ iw $$ iw $$ iw. $ read $$ iw $$ iw $$ iw $$ iw. (command-1275538363433250: 57) на line3700fe51392b4abe9744f6b3a059dbfa46. $ read $$ iw $$ iw $$ iw $$ iw. (command-1275538363433250: 59 на линии 3700fe51 392b4abe9744f6b3a059dbfa46. $ Read $$ iw $$ iw $$ iw. (Command-1275538363433250: 61) по адресу line3700fe51392b4abe9744f6b3a059dbfa46. $ Read $$ iw $$ iw. (Command-12756506b3) команда-1275538363433250:. 65) при line3700fe51392b4abe9744f6b3a059dbfa46 $ чтения (команда-1275538363433250:. 67) на line3700fe51392b4abe9744f6b3a059dbfa46 $ читать $ (команда-1275538363433250:.. 71) при line3700fe51392b4abe9744f6b3a059dbfa46 $ чтения $ (команда-1275538363433250) при line3700fe51392b4abe9744f6b3a059dbfa46 $ Eval... $. $ print $ lzycompute (: 7) в строке 3700fe51392b4abe9744f6b3a059dbfa46. $ eval $. $ print (: 6) в line3700fe51392b4abe9744f6b3a059dbfa46. $ eval. $ print () в sun.reflex.Native0 NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl. java: 62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) в java .lang.ref. scala .tools.ns c .interpreter.IMain $ ReadEvalPrint.call (IMain. scala: 793) по scala .tools.ns c .interpreter.IMain $ Request.loadAndRun (IMain. scala: 1054) по scala .tools.ns c .interpreter.IMain $ WrappedRequest $$ anonfun $ loadAndRunReq $ 1.apply (IMain. scala: 645) в scala .tools.ns c .interpreter.IMain $ WrappedRequest $$ anonfun $ loadAndRunReq $ 1.apply ( IMain. scala: 644) в scala .reflect.internal.util.ScalaClassLoader $ class.asContext (ScalaClassLoader. scala: 31) в scala .reflect.internal.util.AbstractFileClassLoader.asContext (AbstractFileClassLoo). scala: 19) в scala .tools.ns c .interpreter.IMain $ WrappedRequest.loadAndRunReq (IMain. scala: 644) в scala .tools.ns c .interpreter.IMain. интерпретировать (IMain. scala: 576) на scala .tools.ns c .interpreter.IMain.interpret (IMain. scala: 572) на com.databricks.backend.daemon.driver.DriverIL oop .execute (DriverIL oop. scala: 215) на com.databricks.backend.daemon.driver.ScalaDriverLocal $$ anonfun $ repl $ 1.apply $ mcV $ sp (ScalaDriverLocal. scala: 202) на com .databricks.backend.daemon.driv er.ScalaDriverLocal $$ anonfun $ repl $ 1.apply (ScalaDriverLocal. scala: 202) в com.databricks.backend.daemon.driver.ScalaDriverLocal $$ anonfun $ repl $ 1.apply (ScalaDriverLocal. scala: 202 в) com.databricks.backend.daemon.driver.DriverLocal $ TrapExitInternal $ .trapExit (DriverLocal. scala: 699) в com.databricks.backend.daemon.driver.DriverLocal $ TrapExit $ .apply (DriverLocal. scala: 652 ) в com.databricks.backend.daemon.driver.ScalaDriverLocal.repl (ScalaDriverLocal. scala: 202) в com.databricks.backend.daemon.driver.DriverLocal $$ anonfun $ execute $ 9.apply (DriverLocal. scala) : 385) на com.databricks.backend.daemon.driver.DriverLocal $$ anonfun $ execute $ 9.apply (DriverLocal. scala: 362) на com.databricks.logging.UsageLogging $$ anonfun $ с помощьюAttributionContext $ 1.apply (UsageLogging . scala: 251) в scala .util.DynamicVariable.withValue (DynamicVariable. scala: 58) на com.databricks.logging.UsageLogging $ class.withAttributionContext (UsageLogging. scala: 246) на com.databricks.backend.daemon.driver.DriverLocal.withAttributionContext (DriverLocal. scala: 49) в com.databricks.logging.UsageLogging $ class.withAttributionTags (UsageLogging. scala: 288) в com.databricks.backend.daemon.driver.DriverLocal.withAttributionTags (DriverLocal. scala: 49) в com.databricks.backend .daemon.driver.DriverLocal.execute (DriverLocal. scala: 362) в com.databricks.backend.daemon.driver.DriverWrapper $$ anonfun $ tryExecutingCommand $ 2.apply (DriverWrapper. scala: 644) в com.databricks .backend.daemon.driver.DriverWrapper $$ anonfun $ tryExecutingCommand $ 2.apply (DriverWrapper. scala: 644) в scala .util.Try $ .apply (Попробуйте. scala: 192) в com.databricks. backend.daemon.driver.DriverWrapper.tryExecutingCommand (DriverWrapper. scala: 639) по адресу com.databricks.backend.daemon.driver.DriverWrapper.getCommandOutputAndError (DriverWrapper. scala: 485) по адресу. driver.DriverWr apper.executeCommand (DriverWrapper. scala: 597) на com.databricks.backend.daemon.driver.DriverWrapper.runInnerL oop (DriverWrapper. scala: 390) на com.databricks.backend.daemon.driver.DriverWrapper .runInner (DriverWrapper. scala: 337) в com.databricks.backend.daemon.driver.DriverWrapper.run (DriverWrapper. scala: 219) в java .lang.Thread.run (поток. java). : 748)
Я получаю ту же ошибку при запуске df.select("id").collect().map(_(0)).toList
, но не при запуске df.select("id").rdd.map(_(0)).collect.toList
Команда, которая выполняется выше, успешно возвращает список [Любой] , но мне нужен список [String]
Может кто-нибудь пожалуйста посоветовать? Я подозреваю, что это несоответствие версии scala, но я не могу понять, что не так.