Фрейм данных Pyspark эффективно получает столбцы с нулевыми значениями - PullRequest
0 голосов
/ 25 февраля 2019

У меня огромный кластер данных в искре.count показывает 24 миллиона строк.Также имеется более 900 столбцов.

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

В настоящее время я перебираю столбцы:

for col in ALL_COLUMNS[1:]:
    test_df = df.select(col)
    NNcount = test_df.filter(test_df[col].isin(["NULL", "", None]) == False).count()
    # more logic ..

И, выбирая впоследствии, проблема в том, что каждая итерация этого цикла занимает минуты.

Есть ли более быстрый способ отбрасывать столбцы на основе нулей?предпочтительно не нужно перебирать весь столбец - и, очевидно, более элегантно, чем этот.

Возможно, ответ уже найден, но я не могу найти совпадение после некоторого поиска.Спасибо!

...