首页 >数据库 >mysql教程 >如何连接 Apache Spark DataFrame 中的列?

如何连接 Apache Spark DataFrame 中的列?

Patricia Arquette
Patricia Arquette原创
2025-01-18 18:42:13310浏览

How to Concatenate Columns in an Apache Spark DataFrame?

连接 Apache Spark DataFrame 中的列

在 Apache Spark 中,您可以使用原始 SQL 或 Spark 1.5.0 中引入的 DataFrame API 连接 DataFrame 中的列.

使用原始 SQL

使用以下方式连接列原始 SQL,使用 CONCAT 函数:

在 Python 中:

df = sqlContext.createDataFrame([("foo", 1), ("bar", 2)], ("k", "v"))
df.registerTempTable("df")
sqlContext.sql("SELECT CONCAT(k, ' ',  v) FROM df")

在 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")

使用数据框API

从 Spark 1.5.0 开始,您可以将 concat 函数与 DataFrame API 结合使用:

在 Python 中:

from pyspark.sql.functions import concat, col, lit

df.select(concat(col("k"), lit(" "), col("v")))

在Scala:

import org.apache.spark.sql.functions.{concat, lit}

df.select(concat($"k", lit(" "), $"v"))

使用 concat_ws

还有 concat_ws 函数,它将字符串分隔符作为其第一个参数:

df.select(concat_ws("-", col("k"), col("v")))

以上是如何连接 Apache Spark DataFrame 中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn