将Scala数据框中以逗号分隔的值拆分为多行。

3

我有以下数据:

 RecommendationID   TPID    OwnerPersona    RecommendationOwner
   1936946        2494777      AE,AE         DEHARRIS,AACORREL
   2327768        16345463     AE,AE         FLNG,CAZHIWEI

我希望修改它以获得以下结果,在分割逗号分隔的字符串RecommendationOwner之后:

 RecommendationID   TPID    OwnerPersona    RecommendationOwner
   1936946        2494777      AE,AE         DEHARRIS
   1936946        2494777      AE,AE         AACORREL
   2327768        16345463     AE,AE         FLNG
   2327768        16345463     AE,AE         CAZHIWEI

注意 - 我只想分割 RecommendationOwner 列。
1个回答

4

只需将 splitexplode 结合起来,即可将字符串拆分,并生成每个项目的一行(相当于 scala collections 或 RDDs 中的 flatMap):

df.withColumn("RecommendationOwner", explode(split('RecommendationOwner, ",")))

你还可以将","替换为"\\s*,\\s*",以消除可能存在的空格。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接