2015-04-04 122 views
0

我有这样的代码:星火/斯卡拉拆分

rdd.map(_.split("-")).filter(row => { ... }) 

当我做row.length上:

  1. 这-is-a的试验----上split--

  2. 这-is-a的测试-------

输出是9个4个RE pectively。如果尾部分隔字符为空,则不计算它们。如果我希望两个输出都是10,那么这里有什么解决方法?

回答

2

可以完成你想要什么用-1作为极限参数split这样的:

rdd.map(_.split("-", -1)).filter(row => { ... }) 

顺便说一句,预期的结果是11,而不是10(因为如果你想保持空令牌和你的字符串以分隔符结尾,然后解释为该分隔符后面有一个空的标记)。你可以看到this了解更多信息。