split(String,int)(int),last(int)是什么意思?

时间:2017-04-25 01:33:17

标签: scala apache-spark split rdd

今天,我正在处理一个项目,并且有一个关于split()的代码

val ageData = dataFile.map(line => line.split("s",1)(1))//ageDate:RDD[String]

我知道什么是分裂(" s",1)。我的问题是"(1)"意思?

1 个答案:

答案 0 :(得分:4)

line.split("s",1)(1) (1)Array的索引,例如:

"abab".split("b", 2)

  

数组(a,ab)

所以"abab".split("b", 2)(1)将为ab

需要调出的另一件事是line.split("s",1)(1)这将抛出ArrayIndexOutOfBoundsException: 1

这导致您设置拆分限制line.split("s",1))为1,这意味着数组的大小为1。所以当你使用数组索引1时,这会抛出异常。它应该是line.split("s",1)(0)line.split("s",2)(1)