【问题标题】:Replace a value of a row by another if null in Apache Spark Java如果在 Apache Spark Java 中为 null,则将行的值替换为另一个值
【发布时间】:2016-11-11 11:45:51
【问题描述】:

我在 Java 中使用 Apache Spark 1.6.2。

我有一个 DataFrame,其中包含:

  • creation_date 字段中的日期,
  • close_date 字段中的结束日期。

如果业务没有关闭,那么close_date的值为null。

我想:

  • 向我的 DataFrame 添加一个名为 last_date_business 的额外列
  • 用 close_date 的值填充它
  • 如果 close_date 为空,则使用 current_date()

我可以请 Spark 做还是应该手动做?

【问题讨论】:

    标签: java apache-spark dataframe apache-spark-sql


    【解决方案1】:

    您只需要coalesce:

    import static org.apache.spark.sql.functions.*;
    
    df.withColumn("last_date_business", coalesce(col("close_date"), current_date()));
    

    【讨论】:

    • java中的等价物是什么?
    • @zero323,我正在使用 spark-sql -2.4.1v,我没有找到 coalesce() 函数......我可以使用什么替代方案?请提出建议。
    猜你喜欢
    • 2021-01-01
    • 1970-01-01
    • 2010-11-03
    • 2017-10-11
    • 2018-10-23
    • 2018-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多