我正在使用Spark 1.6,我想在数据框中添加一列。新列实际上是一个常数序列:Seq(“ - 0”,“ - 1”,“ - 2”,“ - 3”)
这是我的原始数据框:
scala> df.printSchema()
根
| - user_name:string(nullable = true)
| - test_name:string(nullable = true)
df.show()
| USER_NAME | TEST_NAME |
+ ------------ + -------------------- +
| USER1 | SAT |
| USER9 | GRE |
| user7 | MCAT |
我想添加这个额外的列(尝试),以便新的数据帧变为:
|user_name|test_name|attempt| +------------+--------------------+ |user1| SAT|Seq("-0","-1","-2","-3")| | user9| GRE|Seq("-0","-1","-2","-3") | user7|MCAT|Seq("-0","-1","-2","-3")
我该怎么做?
答案 0 :(得分:2)
你可以使用withColumn函数:
import org.apache.spark.sql.functions._
df.withColumn("attempt", lit(Array("-0","-1","-2","-3")))
答案 1 :(得分:1)
您可以使用typedLit(Spark版本> 2.2)添加。
import org.apache.spark.sql.functions.typedLit
df.withColumn("attempt", typedLit(Seq("-0", "-1", "-2", "-3")))