Сегодня я обнаружил, что вы можете фильтровать PySpark DataFrame с помощью логической индексации:
In [3]: df.show()
+-----+---+
|name1| v|
+-----+---+
| john|1.0|
| sam|4.0|
| meh|3.0|
+-----+---+
In [6]: df[df['v']>2.0].show()
+-----+---+
|name1| v|
+-----+---+
| sam|4.0|
| meh|3.0|
+-----+---+
Обычный способ сделать это - использовать функцию PySpark filter
, например Spark - SELECT WHERE или фильтрацию ? . Но задокументирован ли и официально поддерживается указанный выше синтаксис? Мне нравится этот синтаксис, потому что он соответствует синтаксису в Pandas (где функция filter
означает что-то совсем другое).