我的数据框的架构如下;
root
|-- rowkey: string (nullable = true)
|-- SALES: string (nullable = true)
|-- ID: string (nullable = true)
|-- D_Parent_MID: string (nullable = true)
|-- D_ILK: string (nullable = true)
|-- G_Parent_MID: string (nullable = true)
我想使用此数据帧进一步检查特定的ID,是否存在“ D_Parent_MID”,如果是,则使用/存储该值。如果不是,则选中“ G_Parent_MID”;如果是,则使用/存储该值。
不确定如何实现
答案 0 :(得分:0)
如果我做对了,则可以使用withColumn
API,例如:
import org.apache.spark.sql.functions._
df.withColumn("ID",
when(col("D_Parent_MID").isNotNull, col("D_Parent_MID"))
.when(col("G_Parent_MID").isNotNull, col("G_Parent_MID"))
.otherwise(col("ID"))
希望有帮助!