如何用scala在spark中只使用列名和数据类型创建新的空列

b1zrtrql  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(381)

与在rdbms中添加新列一样,不需要用数据填充该列,但应该提供列名和数据类型。我想在spark dataframe中也这样做,但不一定在schema中指定,我希望新列可以以特别的方式创建

val dfWithNewColumn = df.withColumn("new_col", IntgerType)

关键是提供类型而不是Spark推理。但除了在模式中进行更改或对新列设置默认值之外,我看不到任何解决方案

h7appiyu

h7appiyu1#

也许是这样的?

val dfWithNewColumn =  df.withColumn("new_col", lit(null).cast("int"))

它将创建一列空值,而不使用spark type infer。

相关问题