PySpark如何创建包含固定常量值的struct结构体类型列
PySpark创建固定值Struct列的简洁方案
你可以直接在struct()方法内部嵌套lit()定义固定值字段,不需要额外创建临时过渡列,实现代码如下:
from pyspark.sql import functions as F df.withColumn("dummy2", F.struct(F.lit(1).alias("dummy")))
如果需要定义包含多个字段的固定值Struct列,可以直接扩展struct的参数即可:
# 包含多个固定字段的示例 df.withColumn("custom_struct", F.struct( F.lit(1001).alias("user_id"), F.lit("default").alias("user_type"), F.lit(True).alias("is_valid") ) )
该方案兼容所有主流PySpark版本,不需要依赖额外的扩展功能,性能和原有实现一致但代码更简洁易读,也不会产生多余的中间列。
内容的提问来源于stack exchange,提问作者xiaodai
相关产品推荐
相关产品推荐

