如何在Spark DataFrame上使用地图或哈希图

时间:2018-08-20 18:14:57

标签: apache-spark-sql apache-spark-2.0

我的数据框的架构如下;

    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”;如果是,则使用/存储该值。

不确定如何实现

1 个答案:

答案 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"))

希望有帮助!