元组[ele1,ele2,ele3,ele4,ele5]称为会话
def explode_sessions(df):
df = df.select("field1", "field2", F.explode_outer("sessions").alias("session")) \
.withColumn('e1', F.col("session.ele1")) \
.withColumn('e2', F.col("session.ele2")) \
.withColumn('e3', F.col("session.ele3")) \
.withColumn('e4', F.col("session.ele4")) \
.withColumn('e5', F.col("session.ele5")) \
.drop("session")
return df.select("*")
引用Unzip a list of tuples - PySpark,并使用上面的方法从元组会话中提取字段。但是,诸如 由于列名中的点,“ session.ele1”可能会引起问题。
还有其他方法可以将元组中的列平整为函数中的不同列吗?
预先感谢