I. Introducción
Cuando Spark usa RDD para llamar a la función de filtro, el lado del controlador se atasca e informa el error ReturnStatementInClosureException: las declaraciones de retorno no están permitidas en los cierres de Spark, es decir, la función de retorno no se puede usar en el cierre:
2. Escenarios de uso
El método de devolución se usa cuando se usa el método rdd.filter para filtrar la identificación, lo que genera el error anterior:
rdd.filter(arr => {
val id = arr(0)
val l = id.length()
if (l <= 8) return false
if (id.startsWith("1")) {
true
} else {
false
}
})
enmienda:
La palabra clave return no se utiliza en la función de cierre.
rdd.filter(arr => {
val id = arr(0)
val l = id.length()
if (l <= 8) {
false
} else if (id.startsWith("1")) {
true
} else {
false
}
})