【问题标题】:Can't use 'date_add'-function in sparkR无法在 sparkR 中使用“date_add”函数
【发布时间】:2016-02-22 19:21:03
【问题描述】:

在 SparkR (spark-1.4.0) 中,我想使用 date_add 函数。 https://spark.apache.org/docs/latest/api/R/

但是当我在 SparkR 中输入它时,它说该函数不存在。那怎么可能,我怎样才能得到它?

【问题讨论】:

    标签: r apache-spark sparkr


    【解决方案1】:

    您链接到的文档适用于 1.5.2 版。您的版本可能还没有此功能。根据下面的 cmets,您将需要更新 Spark 和 SparkR。

    【讨论】:

    • 有没有一种快速的方法来更新 sparkR 以便我可以得到这个版本?
    • @OlePetersen 使用source
    • @RomanLuštrik 没那么简单 - SparkR 版本应该与 Spark 版本匹配 - 更容易安装新版本的 Spark
    • 谢谢@desertnaut,我会修改我的答案。
    • @RomanLuštrik 其实在 1.4 中可以使用,只要你把它作为 SQL 表达式传递。
    【解决方案2】:

    在 1.4.0 中可以使用原始 SQL 调用它:

    library(magrittr)
    
    hiveContext <- sparkRHive.init(sc)
    
    df <- createDataFrame(hiveContext, data.frame(ts=c("2015-12-01"))) %>%  
        select(alias(cast(.$ts, "date"), "ts"))
    
    df %>% selectExpr("ts", "date_add(ts, 1) AS next_day") %>% head
    
    ##          ts   next_day
    ## 1 2015-12-01 2015-12-02
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 2020-01-06
    • 1970-01-01
    • 2012-11-27
    相关资源
    最近更新 更多