2016-11-14 8 views
0

"CUSTOMER_MAILID"、 "OFFER_NAME"、 "OFFER_ISAPPLIED"という列を持つデータフレームがあります。他の列に基づいてPySparkの列を更新するには?

サンプルデータ:

+--------------------+--------------------+---------------+ 
|  CUSTOMER_MAILID|   OFFER_NAME|OFFER_ISAPPLIED| 
+--------------------+--------------------+---------------+ 
|pushpendrakaushik...|Jaipur Pink Panth...|    N| 
|pushpendrakaushik...|Jaipur Pink Panth...|    N| 
|[email protected]|     |    N| 
|spdadhichassociat...|     |    N| 
|[email protected]|Jaipur Pink Panth...|    N| 
|[email protected]|     |    N| 
| [email protected]|     |    N| 
|[email protected]|     |    N| 
| [email protected]|Jaipur Pink Panth...|    N| 

私は "OFFER_NAME" 列がNullを除き、いくつかの値を持っている場合は、 "Y" と "OFFER_ISAPPLIED" 列の値を更新します。

どうすれば達成できますか?

出力は次のようにする必要があります:

+--------------------+--------------------+---------------+ 
|  CUSTOMER_MAILID|   OFFER_NAME|OFFER_ISAPPLIED| 
+--------------------+--------------------+---------------+ 
|pushpendrakaushik...|Jaipur Pink Panth...|    Y| 
|pushpendrakaushik...|Jaipur Pink Panth...|    Y| 
|[email protected]|     |    N| 
|spdadhichassociat...|     |    N| 
|[email protected]|Jaipur Pink Panth...|    Y| 
|[email protected]|     |    N| 
| [email protected]|     |    N| 
|[email protected]|     |    N| 
| [email protected]|Jaipur Pink Panth...|    Y| 

答えて

1

用途:

from pyspark.sql.functions import * 

df.withColum("OFFER_ISAPPLIED", 
    when(col("OFFER_NAME").isNull(), "N").otherwise("Y")) 
+0

それが....おかげで働いた:) –

関連する問題