aNa*_*ame 1 apache-spark apache-spark-sql
我有一个有 3 列的 Spark 数据帧,我想基于第三个主题合并两个主题,这是一个示例:
+---+---+---+
|AAA|bbb|ccc|
+---+---+---+
|AAA|BBB| E|
|AAA|BBB| R|
|AAA|BBB| E|
|AAA|BBB| R|
|AAA|BBB| R|
|AAA|BBB| E|
+-----------+
Run Code Online (Sandbox Code Playgroud)
我想当 CCC 列的值为 E 时使用 AAA 列的值,当 CCC 为 R 时使用 BBB,这里是输出:
+---+---+
|NEW|ccc|
+---+---+
|AAA| E|
|BBB| R|
|AAA| E|
|BBB| R|
|BBB| R|
|AAA| E|
+-------+
Run Code Online (Sandbox Code Playgroud)
这可以使用 来完成when。(PySpark解决方案如下所示)
from pyspark.sql.functions import when
df.withColumn('New',when(df.ccc=='E',df.aaa).when(df.ccc=='R',df.bbb)).show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1834 次 |
| 最近记录: |