【发布时间】:2018-10-13 04:01:00
【问题描述】:
我在pyspark 中有一个data frame,如下所示。
df.show()
+---+----+
| id|name|
+---+----+
| 1| sam|
| 2| Tim|
| 3| Jim|
| 4| sam|
+---+----+
现在我向df 添加了一个新列,如下所示
from pyspark.sql.functions import lit
from pyspark.sql.types import StringType
new_df = df.withColumn('new_column', lit(None).cast(StringType()))
现在当我查询new_df
new_df.show()
+---+----+----------+
| id|name|new_column|
+---+----+----------+
| 1| sam| null|
| 2| Tim| null|
| 3| Jim| null|
| 4| sam| null|
+---+----+----------+
现在我想根据条件更新new_column 中的值。
我正在尝试编写以下条件但无法这样做。
如果name 是sam 那么new_column 应该是tested 否则not_tested
if name == sam:
then update new_column to tested
else:
new_column == not_tested
如何在pyspark 中实现这一点。
编辑 我不是在寻找 if else 语句,而是如何更新
pyspark列中记录的值
【问题讨论】:
标签: apache-spark pyspark