>데이터 베이스 >MySQL 튜토리얼 >Apache Spark DataFrames에서 열을 연결하는 방법은 무엇입니까?

Apache Spark DataFrames에서 열을 연결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-18 18:56:131008검색

How to Concatenate Columns in Apache Spark DataFrames?

Apache Spark DataFrame의 열 조인

Spark 애플리케이션에서 구조화된 데이터를 처리하려면 여러 열을 전체로 결합해야 하는 경우가 많습니다. 일반적인 작업은 두 개 이상의 열을 결합하여 새로운 결합된 열을 생성하는 것입니다. Spark SQL은 이를 원활하게 수행할 수 있는 편리한 메커니즘을 제공합니다.

방법 1: 원본 SQL에서 CONCAT 함수 사용

원시 SQL 쿼리로 작업하는 사용자에게는 CONCAT 기능이 유용할 수 있습니다. 여러 문자열 열을 단일 문자열로 결합할 수 있습니다.

파이썬:

<code class="language-python">df = sqlContext.createDataFrame([("foo", 1), ("bar", 2)], ("k", "v"))
df.registerTempTable("df")
sqlContext.sql("SELECT CONCAT(k, ' ', v) FROM df")</code>

스칼라:

<code class="language-scala">import sqlContext.implicits._

val df = sc.parallelize(Seq(("foo", 1), ("bar", 2))).toDF("k", "v")
df.registerTempTable("df")
sqlContext.sql("SELECT CONCAT(k, ' ', v) FROM df")</code>

방법 2: DataFrame API의 concat 기능 사용

Spark 1.5.0부터 DataFrame API에는 API에서 열을 연결하는 우아한 방법을 제공하는 concat 함수가 도입되었습니다.

파이썬:

<code class="language-python">from pyspark.sql.functions import concat, col, lit

df.select(concat(col("k"), lit(" "), col("v")))</code>

스칼라:

<code class="language-scala">import org.apache.spark.sql.functions.{concat, lit}

df.select(concat($"k", lit(" "), $"v"))</code>

방법 3: concat_ws 함수를 사용하여 구분 기호 사용자 정의

Spark는 연결 문자열 사이에 사용자 정의 구분 기호를 지정할 수 있는 concat_ws 함수도 제공합니다.

예:

<code class="language-python"># 创建一个包含多个列的DataFrame
df = spark.createDataFrame([
    ("John", "Doe", "John Doe"),
    ("Jane", "Smith", "Jane Smith")
], ["first_name", "last_name", "full_name"])

# 使用自定义分隔符连接名字和姓氏
df = df.withColumn("full_name_with_comma", concat_ws(",", df.first_name, df.last_name))</code>

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

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