まず読みますデータフレームをcsvとして|セパレータとして:
これは、必要な基本列を持つデータフレームを提供し、3番目の文字列は文字列になります。この列の名前を_c2(第3列のデフォルト名)に変更しました。今度は文字列を分割して配列を得ることができます 前の列も削除します。 最後に、我々は行に配列を回すと、未使用のカラム
from pyspark.sql.functions import split
from pyspark.sql.functions import explode
df1 = spark.read.csv("pathToFile", sep="|")
df2 = df1.withColumn("splitted", split(df1["_c2"],",")).drop("_c2")
df3 = df2.withColumn("exploded", explode(df2["splitted"])).drop("splitted")
またはScalaで(遊離型)を削除する爆発使用
import org.apache.spark.sql.functions.split
import org.apache.spark.sql.functions.explode
val df1 = spark.read.csv("pathToFile", sep="|")
val df2 = df1.withColumn("splitted", split(df1("_c2"),",")).drop("_c2")
val df3 = df2.withColumn("exploded", explode(df2("splitted"))).drop("splitted")