如何在数据块中使用 Spark sql 连接 Spark 数据框列
Posted
技术标签:
【中文标题】如何在数据块中使用 Spark sql 连接 Spark 数据框列【英文标题】:How to concatenate spark dataframe columns using Spark sql in databricks 【发布时间】:2020-02-05 05:42:20 【问题描述】:我的数据框中有两列名为“FirstName”和“LastName”,如何将这两列连接成一列。
|Id |FirstName|LastName|
| 1 | A | B |
| | | |
| | | |
我想变成这样
|Id |FullName |
| 1 | AB |
| | |
| | |
我的查询看起来像这样,但它会引发错误
val kgt=spark.sql("""
Select Id,FirstName+' '+ContactLastName AS FullName from tblAA """)
kgt.createOrReplaceTempView("NameTable")
【问题讨论】:
【参考方案1】:我们使用 Spark SQL 解决方案:
spark.sql("select Id, CONCAT(FirstName,' ',LastName) as FullName from NameTable").show(false)
或
spark.sql( " select Id, FirstName || ' ' ||LastName as FullName from NameTable ").show(false)
【讨论】:
【参考方案2】:from pyspark.sql import functions as F
df = df.withColumn('FullName', F.concat(F.col('First_name'), F.col('last_name')))
【讨论】:
虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。以上是关于如何在数据块中使用 Spark sql 连接 Spark 数据框列的主要内容,如果未能解决你的问题,请参考以下文章
大数据(spark sql 和 spark dataframes 连接)
如何对数据进行物理分区以避免 Spark SQL 连接中的洗牌