Эффективное удаление столбцов из широкого Spark Dataframe на основе значений столбцов - PullRequest
1 голос
/ 30 октября 2019

Если у меня есть широкий фрейм данных (200 м столбцов), который содержит только IP-адреса, и я хочу отбросить столбцы, которые содержат нулевые значения или плохо отформатированные IP-адреса, какой самый эффективный способ сделать это в Spark? Насколько я понимаю, Spark выполняет обработку на основе строк параллельно, а не на основе столбцов. Таким образом, если я попытаюсь применить преобразования к столбцу, будет много перемешивания. Будет ли транспонирование кадра данных сначала с применением фильтров для отбрасывания строк, а затем ретрансляция будет хорошим способом воспользоваться преимуществом параллельности искры?

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете сохранить матрицу в формате CSC, используя структуру org.apache.spark.ml.linalg.SparseMatrix

Если вам удастся выполнить фильтрацию по этому типу данных и преобразовать обратно в кадр данных, который будетВаша лучшая ставка

...