数据处理生产环境_获取当前日期的前一天日期

需求描述:

我现在有一个dataframe,名为dfin,样例数据如下

a1_id_lxh a2_PH time
比亚迪_汉 123 2023-11-15 12:12:23
比亚迪_汉 125 2023-11-15 13:14:51
比亚迪_汉 123 2023-11-15 12:13:23
比亚迪_汉 126 2023-11-16 14:12:34
比亚迪_秦 231 2023-11-15 14:12:28
比亚迪_秦 234 2023-11-16 16:12:51
比亚迪_秦 231 2023-11-15 12:13:51
比亚迪_秦 231 2023-11-15 12:14:51

        现在我每天接入实时数据,保存在库里,时间为最近时间的两天数据,比如今天是20号,数据库里存的数据就是19号,20号的数据,现在我要进行跑批任务,将数据库里的19号的数据离线跑批进行部分逻辑处理后,增加的存入

代码

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._
import java.text.SimpleDateFormat
import java.util.Date

val spark = SparkSession.builder.appName("DateSubtraction").getOrCreate()

import spark.implicits._
//测试data,实际生产中我们接前序dataframe
//20231121_lxh
//https://blog.csdn.net/qq_52128187?type=blog
val data = Seq(
  ("比亚迪_汉", 123, "2023-11-15 12:12:23"),
  ("比亚迪_汉", 125, "2023-11-15 13:14:51"),
  ("比亚迪_汉", 123, "2023-11-15 12:13:23"),
  ("比亚迪_汉", 126, "2023-11-16 14:12:34"),
  ("比亚迪_秦", 231, "2023-11-15 14:12:28"),
  ("比亚迪_秦", 234, "2023-11-16 16:12:51"),
  ("比亚迪_秦", 231, "2023-11-15 12:13:51"),
  ("比亚迪_秦", 231, "2023-11-15 12:14:51")
)
//以此为例
val df = data.toDF("a1", "a2", "time")

val dateFormat = new SimpleDateFormat("yyyy-MM-dd")
val currentDate = dateFormat.format(new Date())

val dfinWithNewColumn = df.withColumn("date_subtracted", date_sub(to_date($"time"), 1))

dfinWithNewColumn.show()
//后面在处理的话直接转为创建临时表或者再进行后续操作即可
//https://blog.csdn.net/qq_52128187?type=blog

输出结果

a1 a2 time date_subtracted
比亚迪_汉 123 2023-11-15 12:12:23 2023-11-14 12:12:23
比亚迪_汉 125 2023-11-15 13:14:51 2023-11-14 13:14:51
比亚迪_汉 123 2023-11-15 12:13:23 2023-11-14 12:13:23
比亚迪_汉 126 2023-11-16 14:12:34 2023-11-15 14:12:34
比亚迪_秦 231 2023-11-15 14:12:28 2023-11-14 14:12:28
比亚迪_秦 234 2023-11-16 16:12:51 2023-11-15 16:12:51
比亚迪_秦 231 2023-11-15 12:13:51 2023-11-14 12:13:51
比亚迪_秦 231 2023-11-15 12:14:51 2023-11-14 12:14:5

相关推荐

  1. 数据处理生产环境_获取当前日期天日

    2023-12-12 17:00:07       38 阅读
  2. sql oracle 获取当前日期最后

    2023-12-12 17:00:07       17 阅读
  3. js获取当前时间,当日零点,周时间

    2023-12-12 17:00:07       36 阅读
  4. oracle sql--计算某日期当前日期间隔天数

    2023-12-12 17:00:07       10 阅读
  5. js获取天日

    2023-12-12 17:00:07       35 阅读
  6. 端点击地图上位置获取当前经纬度

    2023-12-12 17:00:07       11 阅读
  7. 【js或momentJs获取当前起止日期

    2023-12-12 17:00:07       39 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 17:00:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 17:00:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 17:00:07       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 17:00:07       20 阅读

热门阅读

  1. String转Date,Date转String

    2023-12-12 17:00:07       39 阅读
  2. XSLVGL2.0 User Manual 资源管理器(v2.0)

    2023-12-12 17:00:07       40 阅读
  3. PTA-列出所有祖先结点

    2023-12-12 17:00:07       33 阅读
  4. 分布式下如何实现配置管理?

    2023-12-12 17:00:07       33 阅读
  5. linux中jdk导入第三方https的ca证书

    2023-12-12 17:00:07       48 阅读
  6. K8S学习指南(9)-k8s核心对象init pod

    2023-12-12 17:00:07       39 阅读
  7. linux通信

    2023-12-12 17:00:07       31 阅读
  8. Nginx的stream配置

    2023-12-12 17:00:07       39 阅读