【发布时间】:2018-09-09 16:23:38
【问题描述】:
我的函数get_data 返回一个元组:两个整数值。
get_data_udf = udf(lambda id: get_data(spark, id), (IntegerType(), IntegerType()))
我需要将它们分成两列val1 和val2。我该怎么做?
dfnew = df \
.withColumn("val", get_data_udf(col("id")))
我是否应该将元组保存在列中,例如val,然后以某种方式将其拆分为两列。或者有没有更短的方法?
【问题讨论】:
-
在scala中,你可以
.withColumn("val1", col("val._1")).withColumn("val2", col("val._2")),不确定这是否适用于pyspark
标签: python python-3.x apache-spark pyspark apache-spark-sql