如何在spark-sql中添加一个或多个列?
在oracle中,我们正在做
jest.useFakeTimers
我正在寻找Spark-sql中的相同操作。
答案 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'))