Spark / Scala 拆分
Spark / Scala Split
我有这个代码:
rdd.map(_.split("-")).filter(row => { ... })
当我 row.length 在:
This-is-a-test----on-split--
这是一个测试------
输出分别是9和4。如果它为空,则不计算尾随分隔字符。如果我希望两个输出均为 10,这里的解决方法是什么?
您可以通过将 -1 作为限制参数传递给 split
来完成您想要的操作,如下所示:
rdd.map(_.split("-", -1)).filter(row => { ... })
顺便说一句,预期结果是 11,而不是 10(因为如果您想保留空标记并且您的字符串以定界符结尾,那么它会被解释为好像在该定界符之后有一个空标记)。您可以查看this了解更多信息。
我有这个代码:
rdd.map(_.split("-")).filter(row => { ... })
当我 row.length 在:
This-is-a-test----on-split--
这是一个测试------
输出分别是9和4。如果它为空,则不计算尾随分隔字符。如果我希望两个输出均为 10,这里的解决方法是什么?
您可以通过将 -1 作为限制参数传递给 split
来完成您想要的操作,如下所示:
rdd.map(_.split("-", -1)).filter(row => { ... })
顺便说一句,预期结果是 11,而不是 10(因为如果您想保留空标记并且您的字符串以定界符结尾,那么它会被解释为好像在该定界符之后有一个空标记)。您可以查看this了解更多信息。