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


    需求描述:

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

    a1_id_lxha2_PHtime
    比亚迪_汉1232023-11-15 12:12:23
    比亚迪_汉1252023-11-15 13:14:51
    比亚迪_汉1232023-11-15 12:13:23
    比亚迪_汉1262023-11-16 14:12:34
    比亚迪_秦2312023-11-15 14:12:28
    比亚迪_秦2342023-11-16 16:12:51
    比亚迪_秦2312023-11-15 12:13:51
    比亚迪_秦2312023-11-15 12:14:51

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

    代码

    1. import org.apache.spark.sql.SparkSession
    2. import org.apache.spark.sql.functions._
    3. import java.text.SimpleDateFormat
    4. import java.util.Date
    5. val spark = SparkSession.builder.appName("DateSubtraction").getOrCreate()
    6. import spark.implicits._
    7. //测试data,实际生产中我们接前序dataframe
    8. //20231121_lxh
    9. //https://blog.csdn.net/qq_52128187?type=blog
    10. val data = Seq(
    11. ("比亚迪_汉", 123, "2023-11-15 12:12:23"),
    12. ("比亚迪_汉", 125, "2023-11-15 13:14:51"),
    13. ("比亚迪_汉", 123, "2023-11-15 12:13:23"),
    14. ("比亚迪_汉", 126, "2023-11-16 14:12:34"),
    15. ("比亚迪_秦", 231, "2023-11-15 14:12:28"),
    16. ("比亚迪_秦", 234, "2023-11-16 16:12:51"),
    17. ("比亚迪_秦", 231, "2023-11-15 12:13:51"),
    18. ("比亚迪_秦", 231, "2023-11-15 12:14:51")
    19. )
    20. //以此为例
    21. val df = data.toDF("a1", "a2", "time")
    22. val dateFormat = new SimpleDateFormat("yyyy-MM-dd")
    23. val currentDate = dateFormat.format(new Date())
    24. val dfinWithNewColumn = df.withColumn("date_subtracted", date_sub(to_date($"time"), 1))
    25. dfinWithNewColumn.show()
    26. //后面在处理的话直接转为创建临时表或者再进行后续操作即可
    27. //https://blog.csdn.net/qq_52128187?type=blog

    输出结果

    a1a2timedate_subtracted
    比亚迪_汉1232023-11-15 12:12:232023-11-14 12:12:23
    比亚迪_汉1252023-11-15 13:14:512023-11-14 13:14:51
    比亚迪_汉1232023-11-15 12:13:232023-11-14 12:13:23
    比亚迪_汉1262023-11-16 14:12:342023-11-15 14:12:34
    比亚迪_秦2312023-11-15 14:12:282023-11-14 14:12:28
    比亚迪_秦2342023-11-16 16:12:512023-11-15 16:12:51
    比亚迪_秦2312023-11-15 12:13:512023-11-14 12:13:51
    比亚迪_秦2312023-11-15 12:14:512023-11-14 12:14:5
  • 相关阅读:
    武汉星起航:亚马逊卖家如何做好产品的差异化工作?
    JAVA如何保留小数点后两位
    第2周学习:卷积神经网络基础
    我们又组织了一次欧洲最大开源社区活动,Hugging Face 博客欢迎社区成员发帖、Hugging Chat 功能更新!...
    IOS开发之免费证书+不越狱真机调试
    高性能网络模型之系列文章,建议收藏
    洛谷 P4568 [JLOI2011] 飞行路线(分层图最短路)
    物企大变局时代,SRM供应商采购系统助力企业打造物业采购数字化标杆
    Vue首屏优化方案
    LeetCode75——Day19
  • 原文地址:https://blog.csdn.net/qq_52128187/article/details/134503196