spark中用于添加新列的withcolumn()未显示结果[重复]

Posted

技术标签:

【中文标题】spark中用于添加新列的withcolumn()未显示结果[重复]【英文标题】:withcolumn() in spark for adding new column is not showing result [duplicate] 【发布时间】:2018-11-04 09:07:50 【问题描述】:

我正在尝试使用 withcolumn 添加一个新列,其值应该为 NULL 但它不起作用。

 val schema = StructType(
                    StructField("uid",StringType,true)::
                    StructField("sid",StringType,true)::
                    StructField("astid",StringType,true)::
                    StructField("timestamp",StringType,true)::
                    StructField("start",StringType,true)::
                    StructField("end",StringType,true)::
                    StructField("geo",StringType,true)::
                    StructField("stnid",StringType,true)::
                    StructField("end_type",LongType,true)::
                    StructField("like",LongType,true)::
                    StructField("dislike",LongType,true)::Nil
                      ) 

val Mobpath = spark.read.schema(schema).csv("/data/mob.txt")  
Mobpath.printSchema()

Mobpath.createOrReplaceTempView("Mobpathsql")

val showall =  spark.sql("select * from Mobpathsql")
showall.show()

val newcol = Mobpath.withColumn("new1",functions.lit("null"))
newcol.show()       

使用withcolumn 没有显示任何错误,也没有显示任何输出。

【问题讨论】:

它对我有用,所以我认为其他评论可能是有效的,但我有一些数据。 【参考方案1】:

这个呢:

val newcol = showall.withColumn("new1",functions.lit("null"))
newcol.show()  

我只是测试了上面的代码,它可以工作,我不知道为什么它不能与 Mobpath 一起工作

【讨论】:

不确定我是否得到了问题或答案。 添加了更多细节

以上是关于spark中用于添加新列的withcolumn()未显示结果[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Scala Spark 中使用具有许多条件的“.withColumn”为数据集创建新列

如何创建 Pyspark UDF 以向数据框添加新列

如何使用 Scala/Spark 添加不基于数据框中现有列的新列? [复制]

如果不存在,则使用 withColumn 创建一个新列

NotNull 条件不适用于 spark 数据框 scala 中的 withColumn 条件

spark Scala中dataframe的常用关键字:withColumn