使用 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中的本地文件系统加载文件