簡體   English   中英

在階段0.0中1.0丟失任務

[英]Lost task in 1.0 in stage 0.0

我是Spark和Scala的新手。 我正在嘗試做的是使一個簡單的WordCount工作。

package demo
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.SparkContext._

object WordCount extends App {
  // Create a Scala Spark Context.
  val conf = new SparkConf().setAppName("wordCount").setMaster("spark://MyHost")
  val sc = new SparkContext(conf)
  // Load our input data.
  val input = sc.textFile("words.txt")
  // Split it up into words.
  val words = input.flatMap(line => line.split(" "))
  // Transform into word and count.
  val counts = words.map(word => (word, 1)).reduceByKey{case (x, y) => x + y}
  // Save the word count back out to a text file, causing evaluation.
  counts.saveAsTextFile("wordsCount.txt")
}

我已經設置了一個Master,並啟動了一個與Master相連的Worker。

火花大師

當我運行示例時,出現以下錯誤:

Lost task 1.0 in stage 0.0 (TID 1, MyHost): java.lang.ClassNotFoundException: demo.WordCount$$anonfun$2

我真的不知道這意味着什么。

我的build.sbt看起來像這樣:

name := "SimpleWordCount"

version := "0.0.1"

scalaVersion := "2.10.4"

libraryDependencies ++= Seq(
  "org.apache.spark" %% "spark-core" % "1.2.0" % "provided"
)

代碼看起來不錯,該錯誤告訴您他找不到方法中定義的閉包之一(此閉包現在表示為匿名類,因此出現“ ClassNotFound”錯誤)。 似乎是版本和/或部署問題。 我的猜測是jar代碼沒有部署到spark節點。

首先,在build.sbt中使用版本“ 1.2.1”作為火花(就像您的主節點一樣),其次檢查http://spark.apache.org/docs/1.2.1/submitting-applications.html以了解如何將您的jar提交到服務器,第三,您可以在代碼中省略“ setMaster”,因為提交腳本現在將處理它。

您需要將必要的罐子設置為火花上下文

val conf = new SparkConf().setAppName("wordCount").setMaster("spark://MyHost").setJars(Seq("$HOME/WordCount.jar",...))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM