![](/img/trans.png)
[英]WARN TaskSetManager: Lost Task xxx: java.lang.ArrayIndexOutOfBoundsException: 1 - Scala
[英]java.lang.ArrayIndexOutOfBoundsException in scala
我是火花和機器學習的新手,我正在研究一個數據集,其詳細信息如下:
scala> val inp=sc.textFile("Telephone.txt")
inp: org.apache.spark.rdd.RDD[String] = Telephone.txt MapPartitionsRDD[1] at textFile at <console>:35
scala> inp.first()
res0: String = 2014-03-15:10:10:20,Sorrento,8cc3b47e-bd01-4482-b500-28f2342679af,33.6894754264,-117.543308253
scala> case class Telephone(dt:String,ct:String,s:String,lat:Double,lon:Double)
定義的類別電話
scala> val inp_split=inp.map(x=>x.split(","))
inp_split: org.apache.spark.rdd.RDD[Array[String]] = MapPartitionsRDD[2] at map at <console>:37
scala> val telrdd=inp_split.map(x=>Telephone(x(0),x(1),x(2),x(3).toDouble,x(4).toDouble))
telrdd: org.apache.spark.rdd.RDD[Telephone] = MapPartitionsRDD[3] at map at <console>:41
scala> val telDF=telrdd.toDF()
telDF: org.apache.spark.sql.DataFrame = [dt: string, ct: string, s: string, lat: double, lon: double]
但是當我在telDF
上執行計數操作時,出現以下錯誤:
scala> teldf.count()
[Stage 31:=============================> (1 + 1) / 2]18/01/22 20:16:19 WARN scheduler.TaskSetManager: Lost task 1.0 in stage 31.0 (TID 5
3, cloudera-slavenode2.cloudlab.com, executor 16): java.lang.ArrayIndexOutOfBoundsException: 1
有人可以幫我解決這個錯誤嗎?
我認為您應該檢查自己的Telephone.txt
。 問題最有可能來自以下事實:在某行上有錯誤的數據(例如只是一個空行),因此以下代碼中沒有x(1)
val inp_split=inp.map(x=>x.split(","))
val telrdd=inp_split.map(x=>Telephone(x(0),x(1),x(2),x(3).toDouble,x(4).toDouble))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.