набор данных.фильтр(col(«a») !== col(«b»));

#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                         |
 --------------------- ----------------------- -------- -----------------------------