Столбец «Разнесение набора данных» во многих строках не работает в цикле - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь взорвать один столбец во многих строках в задании Java Spark.Когда я делаю разнесение только по одному столбцу, это работает хорошо, но если я пытаюсь выполнить цикл по всем моим столбцам, чтобы выполнить разнесение, это не работает.

Вот мой код:

Не работает:

    for (String column : columns) {
        tableDS = tableDS .withColumn(column, explode(split(column(column), "\\|")));
    }

Нет исключений.он возвращает только единственную строку, в которой нет содержимого для разделения (нулевые значения столбца).

Работает только для данного столбца:

    for (String column : columns) {
        tableDS = tableDS .withColumn("column1", explode(split(column("column1"), "\\|")));
    }

У вас есть идея, почему это не так?не работает?

1 Ответ

0 голосов
/ 17 апреля 2019

Я выяснил, в чем проблема. Фактически, когда разнесение обрабатывает столбцы с нулевыми значениями, разделение завершится неудачно, но исключение не будет выдано. Поэтому строки с пустыми столбцами будут отброшены.

...