【发布时间】:2018-03-07 18:19:59
【问题描述】:
我在 Spark 中使用以下命令在 Spark 中创建了一个表
case class trip(trip_id: String, duration: String, start_date: String,
start_station: String, start_terminal: String, end_date: String,
end_station: String, end_terminal: String, bike: String,
subscriber_type: String, zipcode: String)
val trip_data = sc.textFile("/user/sankha087_gmail_com/trip_data.csv")
val tripDF = trip_data
.map(x=> x.split(","))
.filter(x=> (x(1)!= "Duration"))
.map(x=> trip(x(0),x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),x(9),x(10)))
.toDF()
tripDF.registerTempTable("tripdatas")
sqlContext.sql("select * from tripdatas").show()
如果我正在运行上面的查询(即选择 *),那么我会得到想要的结果,但是如果我运行下面的查询,那么我会得到下面的异常:
sqlContext.sql("select count(1) from tripdatas").show()
18/03/07 17:59:55 错误 scheduler.TaskSetManager: 阶段 2.0 中的任务 1 失败 4 次;中止工作
org.apache.spark.SparkException:作业因阶段失败而中止:阶段 2.0 中的任务 1 失败 4 次,最近一次失败:阶段 2 中丢失任务 1.3。 0(TID 6,datanode1-cloudera.mettl.com,执行程序 1):java.lang.ArrayIndexOutOfBoundsException:10
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$3.apply(:31)
在$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$iwC$$anonfun$3.apply(:31)***
【问题讨论】:
-
如果错误信息由
sqlContext.sql("select count(1) from tripdatas").show()显示,那么错误信息也应该与sqlContext.sql("select * from tripdatas").show()一起出现
标签: apache-spark apache-spark-sql