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

Susan Sarandon
풀어 주다: 2024-11-06 22:55:02
원래의
386명이 탐색했습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!