>백엔드 개발 >파이썬 튜토리얼 >Spark DataFrames에 상수 열을 추가하는 방법은 무엇입니까?

Spark DataFrames에 상수 열을 추가하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-06 22:55:02491검색

How to Add Constant Columns in Spark DataFrames?

Spark DataFrames에 상수 열 추가

Spark에서는 다양한 방법을 사용하여 각 행에 대해 특정 값을 갖는 DataFrame에 상수 열을 추가할 수 있습니다.

lit 및 기타 기능(Spark 1.3)

Spark 버전 1.3 이상에서는 lit 함수를 사용하여 상수 열을 추가하기 위해 DataFrame.withColumn의 두 번째 인수로 사용할 수 있는 리터럴 값을 생성합니다.

from pyspark.sql.functions import lit

df.withColumn('new_column', lit(10))

더 복잡한 열의 경우 배열, map 및 struct를 사용하여 원하는 열 값을 작성할 수 있습니다.

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

df.withColumn("some_array", array(lit(1), lit(2), lit(3)))
df.withColumn("some_map", map(lit("key1"), lit(1), lit("key2"), lit(2)))

typedLit(Spark 2.2 )

Spark 2.2에는 Seq, Map 및 Tuples를 상수로 제공하는 것을 지원하는 typedLit 함수가 도입되었습니다.

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

df.withColumn("some_array", typedLit(Seq(1, 2, 3)))
df.withColumn("some_struct", typedLit(("foo", 1, 0.3)))

UDF 사용

리터럴 사용의 대안 각 행에 대해 상수 값을 반환하는 사용자 정의 함수(UDF)를 만들고 해당 UDF를 사용할 수 있습니다. 열을 추가하려면:

from pyspark.sql.functions import udf, lit

def add_ten(row):
    return 10

add_ten_udf = udf(add_ten, IntegerType())
df.withColumn('new_column', add_ten_udf(lit(1.0)))

참고:

상수 값은 동일한 구문을 사용하여 UDF 또는 SQL 함수에 인수로 전달될 수도 있습니다.

위 내용은 Spark DataFrames에 상수 열을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.