Блоки данных: разделение датафреймов с помощью разнесения - PullRequest
1 голос
/ 10 октября 2019

Предположим, у меня есть следующий кадр данных искры enter image description here

И я хотел бы перейти к следующему кадру данных. Нужно использовать функцию разнесения?

enter image description here

1 Ответ

0 голосов
/ 10 октября 2019

вы можете использовать arrays_zip, чтобы получить пары, а затем использовать функцию разнесения.

import org.apache.spark.sql.functions.{col, explode, arrays_zip}
dfx.withColumn("zipped", arrays_zip(col("MemberProperty"), col("Value")))
  .withColumn("exploded", explode(col("zipped")))
  .drop("MemberProperty", "Value")
  .withColumn("MemberProperty", col("exploded.MemberProperty"))
  .withColumn("Value", col("exploded.Value"))
...