Im Anschluss an die Anweisungen in diesem Beitrag (https://spark.apache.org/docs/latest/sparkr.html#from-local-data-frames) mit Ich schaffe einen sparkdataframe mit dem folgenden Code:„Auftragsabbruch wegen Stufe Fehler“, wenn CreateDataFrame in SparkR
library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "spark://master:7077", sparkConfig = list(spark.cores.max="8", spark.executor.cores = "4"))
data(iris)
iris = createDataFrame(iris)
head(iris)
Aber die head
Funktion immer auf das führt unter Fehler. Ich bekomme den gleichen Fehler, wenn ich versuche, auch dim
zu laufen. Ich habe auch versucht as.DataFrame
anstelle von createDataFrame
. Ich habe auch versucht, den Kernel in meinem Ipython-Notebook neu zu starten und meine Spark-Sitzung neu zu starten.
Mein Verständnis ist, dass dies eine ziemlich grundlegende Funktion von SparkR ist, also bin ich wirklich ratlos dafür, warum es nicht funktioniert. Aus irgendeinem Grund, wenn ich meine SparkDataFrame
direkt von einer Datenquelle unter Verwendung read.jdbc
lese, habe ich kein Problem. Außerdem habe ich festgestellt, dass die Zahl in der Zeile des Fehlers ": Task 0 in der Stufe XXX .." bei jedem Fehler um eins erhöht wird.
Ich bemerkte auch, dass der Fehler von der Tatsache zu kommen scheint, dass die Executoren die Binärdatei für Rscript
nicht finden können, obwohl ich nicht sicher bin, warum dies nur für SparkDataFrames geschieht, die aus lokalen Daten erstellt werden. Frames, und nicht von denen, die aus einer externen Datenquelle gezogen werden.
Könnte jemand bitte mir dabei helfen?
Der vollständige Fehler-Stack-Trace:
Warnmeldung in FUN (X [[i]], ...): „Use Sepal_Length statt Sepal.Length als Spaltenname“ Warnmeldung in FUN (X [[i]], ...): "Verwenden Sie Sepal_Width anstelle von Sepal.Width als Spaltenname" Warnmeldung in FUN (X [[i]], ...): "Verwenden Sie Petal_Length anstelle von Petal.Length als Spalte Name“Warnmeldung in FUN (X [[i]], ...):‚Use Petal_Width statt Petal.Width als Spaltenname‘
Fehler in invokeJava (isStatic = TRUE, Klassenname, Methodenname, ...): org.apache.spark.SparkException: Job abgebrochen wegen Stufefehler: Task 0 in Stufe 45.0 ist viermal fehlgeschlagen, letzter Fehler: Lost Aufgabe 0.3 in Stufe 45.0 (TID 3372, 10.0.0.5): java.io.IOException: Programm "Rscript" kann nicht ausgeführt werden: Fehler = 2, Nein Datei oder Verzeichnis unter java.lang.ProcessBuilder.start (ProcessBuilder. java: 1048) um org.apache.spark.api.r.RRunner $ .createRProcess (RRunner.scala: 348) um org.apache.spark.api.r.RRunner $ .createRWorker (RRunner.scala: 364) unter org.apache.spark.api.r.RRunner.compute (RRunner.scala: 69) um org.apache.spark.api.r.BaseRRDD.compute (RRDD.scala: 49) um org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) um org.apache.spark.rdd.RDD.iterator (RDD.scala: 283) um org.apache.spark.rd.MapPartitionsRDD .compute (MapPartitionsRDD.scala: 38) bei org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) bei org.apache.spark.rdd.RDD.iterator (RDD.scala: 283) um org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) bei org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) bei org.apache.spark.rdd.RDD .iterator (RDD.scala: 283) um org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) bei org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) bei org.apache.spark.r dd.RDD.iterator (RDD.scala: 283) um org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) bei org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) bei org.apache. spark.rdd.RDD.iterator (RDD.scala: 283) um org.apache.spark.scheduler.ResultTask.runTask (ResultTask.scala: 70) um org.apache.spark.scheduler.Task.run (Task. scala: 85) bei org.apache.spark.executor.Executor $ TaskRunner.run (Executor.scala: 274) bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) bei java. util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) bei java.lang.Thread.run (Thread.java:748) Verursacht von: java.io.IOException: error = 2, Keine solche Datei oder Verzeichnis unter java.lang.UNIXProcess.forkAndExec (Native Methode) um java.lang.UNIXProcess. (UNIXProcess.java:247) um java.lang. ProcessImpl.start (ProcessImpl.java:134) bei java.lang.ProcessBuilder.start (ProcessBuilder.java:1029) ... 24 weitere
Treiber Stacktrace: bei org.apache.spark.scheduler.DAGScheduler. org $ apache $ spark $ Scheduler $ DAGScheduler $$ failJobAndIndependentStages (DAGScheduler.scala: 1450) bei org.apache.spark.scheduler.DAGScheduler $$ anonfun $ abortStage $ 1.Apply (DAGScheduler.scala: 1438) bei org .apache.spark.scheduler.DAGScheduler $ anonfun $ abortStage $ 1.apply (DAGScheduler.scala: 1437) um scala.collection.mutable.ResizableArray $ class.foreach (ResizableArray.scala: 59) bei scala.collection.mutable.ArrayBuffer.foreach (ArrayBuffer. scala: 48) bei org.apache.spark.scheduler.DAGScheduler.abortStage (DAGScheduler.scala: 1437) bei org.apache.spark.scheduler.DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.Apply (DAGScheduler.scala: 811) bei org.apache.spark.scheduler.DAGScheduler $$ anonfun $ handleTaskSetFailed $ 1.Apply (DAGScheduler.scala: 811) bei scala.Option.foreach (Option.scala: 257) bei org.apache.spark .scheduler.DAGScheduler.handleTaskSetFailed (DAGScheduler.scala: 811) bei org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive (DAGScheduler.scala: 1659) bei org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive (DAGScheduler.scala: 1618) bei org.apache.spark .scheduler.DAGSchedulerEventProcessLoop.onReceive (DAGScheduler.scala: 1607) bei org.apache.spark.util.EventLoop $$ anon $ 1.run (EventLoop.scala: 48) um org.apache.spark.scheduler.DAGScheduler. runJob (DAGScheduler.scala: 632) bei org.apache.spark.SparkContext.runJob (SparkContext.scala: 1871) bei org.apache.spark.SparkContext.runJob (SparkContext.scala: 1884) bei org.apache. spark.SparkContext.runJob (SparkContext.scala: 1897) um org.apache.spark.sql.execution.SparkPlan.executeTake (SparkPlan.scala: 347) bei org.apache.spark.sql.execution.CollectLimitExec.executeCollect (limit.scala: 39) bei org.apache .spark.sql.Dataset $$ anonfun $ org $ apache $ spark $ sql $ Datensatz $$ führt $ 1 $ 1.apply aus (Dataset.scala: 2183) um org.apache.spark.sql.execution.SQLExecution $ .withNewExecutionId (SQLExecution.scala: 57) bei org.apache.spark.sql.Dataset.withNewExecutionId (Dataset.scala: 2532) bei org.apache.spark.sql.Dataset.org $ apache $ spark $ sql $ Dataset $$ führt $ 1 (Dataset.scala: 2182) um org.apache.spark.sql.Datensatz $$ anonfun $ org $ apache $ spark $ sql $ Datensatz $$ sammeln $ 1.apply (Dataset.scala: 2187) um org.apache.spark.sql.Dataset $$ anonfun $ org $ apache $ spark $ sql $ Dataset $$ sammelt $ 1.apply (Dataset.scala: 2187) bei org.apache.spark.sql.Dataset.withCallback (Dataset.scala: 2545) unter org.apache.spark.sql.Dataset.org $ apache $ spark $ sql $ Datensatz $$ sammeln (Dataset.scala: 2187) bei org.apache.spark.sql.Dataset.collect (Dataset.scala: 2163) um org.apache.spark.sql.api.r. SQLUtils $ .dfToCols (SQLUtils.scala: 208) um org.apache.spark.sql.api.r.SQLUtils.dfToCols (SQLUtils.scala) um sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Methode) um sun. reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.java:498) bei org.apache.spark.api.r.RBackendHandler.handleMethodCall (RBackendHandler.scala: 141) bei org.apache.spark.api.r.RBackendHandler.channelRead0 (RBackendHandler.scala: 86) bei org.apache.spark.api.r.RBackendHandler.channelRead0 (RBackendHandler.scala : 38) bei io.netty.channel.SimpleChannelInboundHandler.channelRead (SimpleChannelInboundHandler.java:105) bei io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:308) bei io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:294) bei io.netty.handler.codec.MessageToMessageDecoder.channelRead (MessageToMessageDecoder.java:103) bei io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:308) bei io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:294) bei io.netty.handler.codec.ByteToMessageDecoder.channelRead (ByteToMessageDecoder.java:244) bei io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java308) um io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:294) bei io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java:846) bei io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe .Read (AbstractNioByteChannel.java:131) bei io.netty.channel.nio.NioEventLoop.processSelectedKey (NioEventLoop.java:511) bei io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized (NioEventLoop.java:468) um io.netty.channel.nio.NioEventLoop.processSelectedKeys (NioEventLoop.java:382) bei io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:354) um io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run (SingleThreadEventExecutor.java:111) bei io.netty.util.concurrent.DefaultThreadFactory $ DefaultRunnableDecorator.run (DefaultThreadFactory.java:137) bei java.lang.Thread .run (Thread.java:745) Verursacht von: java.io.IOException: Programm "Rscript" kann nicht ausgeführt werden: Fehler = 2, Nein Datei oder Verzeichnis unter java.lang.ProcessBuilder.start (ProcessBuilder.java: 1048) unter org.apache.spark.api.r.RRunner $ .createRProcess (RRunner.scala: 348) um org.apache.spark.api.r.RRunner $ .createRWorker (RRunner.scala: 364) um org.apache.spark.api.r.RRunner.compute (RRunner.scala: 69) um org.apache.spark.api.r.BaseRRDD.berechnen (RRDD.scala: 49) zu org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) zu org.apache.spark.rdd.RDD.iterator (RDD.scala: 283) bis org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) zu org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) zu org.apache.spark.rdd.RDD. Iterator (RDD.scala: 283) zu org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) zu org.apache.spark.rdd.RDD.computeOrReadCheckpoint (RDD.scala: 319) zu org.apache.spark.rdd.RDD.iterator (RDD.scala: 283) zu org.apache.spark.rdd.MapPartitionsRDD.compute (MapPartitionsRDD.scala: 38) zu org.apache.spark.rdd.RDD. computeOrReadCheckpoint (RDD.scala: 319 ) org.apache.spark Traceback:
- Kopf (Carex)
- Kopf (Carex)
- .local (x, ...)
- Nehmen (x, num)
- Nehmen (x, num)
- Collect (begrenzt)
- Collect (begrenzt)
- .local (x, ...)
- callJStatic ("org.apache.spark.sql.api.r.SQLUtils", "dfToCols". x @ SDF)
- invokeJava (isStatic = TRUE, classname, method, ...)
- Anschlag (Readstring (Conn))