首页 > 后端开发 > Python教程 > 如何向 Spark DataFrame 添加常量列?

如何向 Spark DataFrame 添加常量列?

Patricia Arquette
发布: 2024-11-08 15:04:01
原创
317 人浏览过

How Do I Add a Constant Column to a Spark DataFrame?

向 Spark DataFrame 添加常量列

尝试使用 withColumn 和常量值向 DataFrame 添加新列时,用户由于数据不匹配可能会遇到错误

解决方案:

Spark 2.2 :

使用 typedLit 直接赋值各种类型的常量值:

import org.apache.spark.sql.functions.typedLit

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))
登录后复制

Spark 1.3 :

使用 lit 创建文字值:

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))
登录后复制

Spark 1.4 :

对于复杂的列,使用类似的功能块数组、结构体和 create_map:

from pyspark.sql.functions import array, struct, create_map

df.withColumn("some_array", array(lit(1), lit(2), lit(3)))
登录后复制

中Scala:

import org.apache.spark.sql.functions.{array, lit, map, struct}

df.withColumn("new_column", lit(10))
df.withColumn("map", map(lit("key1"), lit(1), lit("key2"), lit(2)))
登录后复制

对于结构体,请在每个字段上使用别名或对整个对象进行强制转换以提供名称:

df.withColumn(
    "some_struct",
    struct(lit("foo").alias("x"), lit(1).alias("y"), lit(0.3).alias("z"))
 )
登录后复制

注意:

这些构造还可用于将常量参数传递给 UDF 或 SQL 函数。

以上是如何向 Spark DataFrame 添加常量列?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板