gpt4 book ai didi

sql - 连接 Apache Spark DataFrame 中的列

转载 作者:行者123 更新时间:2023-12-04 13:23:39 25 4
gpt4 key购买 nike

我们如何连接 Apache Spark DataFrame 中的两列?
我们可以使用 Spark SQL 中的任何函数吗?

最佳答案

使用原始 SQL,您可以使用 CONCAT :

  • 在 Python 中

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

    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")))
  • 在斯卡拉:

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

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

  • 还有 concat_ws将字符串分隔符作为第一个参数的函数。

    关于sql - 连接 Apache Spark DataFrame 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31450846/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com