Spark - SELECT WHERE или фильтрация?

Какая разница между выбором с предложением where и фильтрацией в Spark?
Существуют ли случаи использования, в которых один более подходит, чем другой?

Когда я использую

DataFrame newdf = df.select(df.col("*")).where(df.col("somecol").leq(10))

и когда

DataFrame newdf = df.select(df.col("*")).filter("somecol <= 10")

более подходящий?

Ответ 1

Согласно документации искры " where() является псевдонимом для filter() "

filter(condition) Фильтрует строки, используя данное условие. where() - псевдоним для filter().

Параметры: condition - Column типов. types.BooleanType или строка выражения SQL.

>>> df.filter(df.age > 3).collect()
[Row(age=5, name=u'Bob')]
>>> df.where(df.age == 2).collect()
[Row(age=2, name=u'Alice')]

>>> df.filter("age > 3").collect()
[Row(age=5, name=u'Bob')]
>>> df.where("age = 2").collect()
[Row(age=2, name=u'Alice')]