#apache-spark
Вопрос:
Я пытаюсь отфильтровать данные, присутствующие в наборе данных, на основе столбцов a
и b
. Но, заявление,
dataset.filter(col("a") !== col("b")); //return 0
Но наверняка есть некоторые значения, которые удовлетворяют этому условию.
Я тоже пробовал с =!=
и .notEquals()
, но безуспешно.
Ответ №1:
изменение на !=
— Решит проблему
напр.
df = df.withColumn("cond_col", F.when(F.col("Primary_Email_Address") != F.col("Alternate_Email_Address"), True).otherwise(False))
--------------------- ----------------------- -------- -----------------------------
|Primary_Email_Address|Alternate_Email_Address|cond_col|merged_email |
--------------------- ----------------------- -------- -----------------------------
|navg@gmail.com |navg@gmail.com |false |navg@gmail.com|navg@gmail.com|
|ggg@gmail.com |nnnn@gmail.com |true |null |
--------------------- ----------------------- -------- -----------------------------