在 Apache Spark 中,您可以使用原始 SQL 或 Spark 1.5.0 中引入的 DataFrame API 连接 DataFrame 中的列.
使用以下方式连接列原始 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")
从 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 函数,它将字符串分隔符作为其第一个参数:
df.select(concat_ws("-", col("k"), col("v")))
以上是如何连接 Apache Spark DataFrame 中的列?的详细内容。更多信息请关注PHP中文网其他相关文章!