You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spark SQL中与SQL的dateadd(秒)功能对等的函数是什么

Spark SQL为timestamp类型列累加秒级间隔的实现方案

date_add()函数仅支持按天维度做时间偏移,如需累加秒级间隔,可使用以下两种方案:

方案1:使用INTERVAL关键字(全版本兼容)

该写法兼容所有Spark版本,语法直观,支持直接对timestamp类型列做任意时间单位的偏移:

  • 纯Spark SQL用法示例
    假设待操作表为source_table,timestamp类型列为event_time,累加10秒的写法如下:
    SELECT event_time + INTERVAL 10 SECONDS AS event_time_add_10s
    FROM source_table;
    
  • DataFrame API用法示例
    import org.apache.spark.sql.functions.expr
    
    // 原始DataFrame为sourceDF,新增列存储偏移后的时间
    val resultDF = sourceDF.withColumn("event_time_add_10s", expr("event_time + INTERVAL 10 SECONDS"))
    

方案2:使用timestampadd()函数(Spark 3.1及以上版本支持)

该函数支持自定义偏移单位,参数顺序为[时间单位, 偏移量, 原始时间列]:

  • 纯Spark SQL用法示例
    SELECT timestampadd(SECOND, 10, event_time) AS event_time_add_10s
    FROM source_table;
    
  • DataFrame API用法示例
    import org.apache.spark.sql.functions.{timestampadd, lit, col}
    
    val resultDF = sourceDF.withColumn("event_time_add_10s", timestampadd(lit("SECOND"), lit(10), col("event_time")))
    

内容的提问来源于stack exchange,提问作者proutray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 11:15:05