Spark - ReturnStatementInClosureException: las declaraciones de devolución no están permitidas en los cierres de Spark

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
        }
    })

Supongo que te gusta

Origin blog.csdn.net/BIT_666/article/details/123801345
Recomendado
Clasificación