pyspark提取元组中的列

时间:2018-07-31 20:04:56

标签: python pyspark tuples explode

元组[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”可能会引起问题。

还有其他方法可以将元组中的列平整为函数中的不同列吗?

预先感谢

0 个答案:

没有答案