我有这个密码:
rdd.map(_.split("-")).filter(row => { ... })
当我在上执行row.length时:这是一个测试-----在分裂--这是一个测试-----输出分别为9和4。如果它为空,则不计算尾随的分隔字符。如果我希望两个输出都是10,这里的解决方法是什么?
cbeh67ev1#
通过将-1作为limit参数传递给 split 这样地:
split
rdd.map(_.split("-", -1)).filter(row => { ... })
顺便说一句,预期的结果是11,而不是10(因为如果要保留空标记,并且字符串以分隔符结尾,则会将其解释为在该分隔符之后有一个空标记)。有关更多信息,请参见此。
1条答案
按热度按时间cbeh67ev1#
通过将-1作为limit参数传递给
split
这样地:顺便说一句,预期的结果是11,而不是10(因为如果要保留空标记,并且字符串以分隔符结尾,则会将其解释为在该分隔符之后有一个空标记)。有关更多信息,请参见此。