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

需求描述:

我现在有一个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号的数据离线跑批进行部分逻辑处理后,增加的存入

代码

Scala 复制代码
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
相关推荐
Elastic 中国社区官方博客23 分钟前
现已正式发布: Elastic Cloud Hosted 上的托管 OTLP Endpoint
大数据·运维·数据库·功能测试·elasticsearch·全文检索
D愿你归来仍是少年30 分钟前
Flink 并行度变更时 RocksDB 状态迁移的关键机制与原理
大数据·flink·apache
昨夜见军贴061643 分钟前
AI审核守护透析安全:IACheck助力透析微生物检测报告精准合规
大数据·人工智能·安全
新新学长搞科研1 小时前
【高届数会议征稿】第十二届传感云和边缘计算系统国际会议(SCECS 2026)
大数据·人工智能·生成对抗网络·边缘计算·传感器·学术会议
科技前瞻观察1 小时前
国内科技领先的企业有哪些
大数据
Data-Miner1 小时前
57页可编辑PPT | 大数据决策分析平台建设方案
大数据
TMT星球2 小时前
从智能出行到智能家电,探路生态携智能空间全栈产品矩阵亮相AWE
大数据·人工智能·矩阵
AC赳赳老秦2 小时前
OpenClaw关键词挖掘Agent配置(附SOP脚本,可直接复制使用)
java·大数据·开发语言·人工智能·python·pygame·openclaw
央链知播2 小时前
以价值立品牌 以生态共成长 —— 明月三千里的高质量发展实践
大数据·人工智能
AI扑社2 小时前
AI时代下品牌建设的革命:从流量争夺到AI赋能的价值深耕
大数据·人工智能·geo·ai搜索