val result = data.map(line => {
val event=line.split("\\^")
val x=Integer.parseInt(event(2))
val y=event(5)
val z=event(4)
(x,y,z,event)
}).filter(line => {
var flag=false
if(line._1==100 && line._4.length==7 && line._2.nonEmpty /*&& line._3.length()==8*/)
flag =true
flag
}).map(line => {
(line._1,line._3)
})
println(result.count())
result.foreach(println)
注意:我收到错误java.lang.ArrayIndexOutOfBoundsException: 5
答案 0 :(得分:0)
我收到错误
java.lang.ArrayIndexOutOfBoundsException: 5
错误消息是否足够清楚以了解错误是什么?错误消息暗示某些行中没有^
个字符你正在分裂以获得第5阵列。
解决方案
使用Try
,只要您怀疑没有足够的数据
import scala.util.Try
val y=Try(event(5)) getOrElse("")