Spark SQL-如何添加两列值

时间:2018-10-12 04:28:40

标签: apache-spark dataframe pyspark apache-spark-sql

如何在spark-sql中添加一个或多个列?

在oracle中,我们正在做

jest.useFakeTimers

我正在寻找Spark-sql中的相同操作。

2 个答案:

答案 0 :(得分:3)

如果将数据帧注册为临时表(例如,通过createOrReplaceTempView()),则您指定的完全相同的SQL语句将起作用。

如果您改用DataFrame API,则Column class定义各种运算符,包括加法运算符。在代码中,看起来像这样:

val df = Seq( (1,2), (3,4), (5,6) ).toDF("c1", "c2")
df.withColumn( "c3", $"c1" + $"c2" ).show

答案 1 :(得分:1)

您可以执行withColumn功能。 如果列是数字,则可以直接添加它们

df.withColumn('total', 'mark1'+'mark2'+'mark3')

如果列是string,并且想concat它们

import pyspark.sql.functions as F
df.withColumn('total', F.concat('mark1','mark2','mark3'))