使用 Java 在 Spark Data Frame 中添加空值列

Posted

技术标签:

【中文标题】使用 Java 在 Spark Data Frame 中添加空值列【英文标题】:Add a null value column in Spark Data Frame using Java 【发布时间】:2017-09-18 01:09:58 【问题描述】:

我有一个数据框,想添加一个 String 类型的列,其值为空。 如何使用 Spark Java API 来完成。

我使用了 lit 函数,但在尝试编写 DF 和 saveAsTable 时出错。

【问题讨论】:

【参考方案1】:

能够通过在具有空值的列上使用 lit 函数并将列类型强制转换为字符串类型来解决。

df.withColumn(
 "col_name", functions.lit(null)
).withColumn("col_name", 
  df.col("channel_name").cast(DataTypes.StringType)
)

【讨论】:

【参考方案2】:
df.withColumn("col_name", lit(null).cast("string"))

import org.apache.spark.sql.types.StringType

df.withColumn("col_name", lit(null).cast(StringType))

【讨论】:

感谢您的一年回答;也许可以详细说明为什么这可以解决问题?

以上是关于使用 Java 在 Spark Data Frame 中添加空值列的主要内容,如果未能解决你的问题,请参考以下文章

r 删除不同类型的nas的功能...来自http://stackoverflow.com/questions/4862178/remove-rows-with-nas-in-data-frame

Java生成-zipf分布的数据集(自定义倾斜度,用作spark data skew测试)

Java spark无法从spark sql中的本地文件系统加载文件

如何在Ubuntu下搭建Spark集群

是否可以将 Spark 中的 data.table 与 Spark Dataframes 一起使用?

FRAM的应用场景