首页 > 解决方案 > 根据scala中的时间戳列过滤数据框

问题描述

我有两个问题——

  1. 我需要根据时间戳列过滤数据框,以便数据为 30 天(这是动态的,可以是 50 天或 100 天)。这里,存储在db2中的数据是时间戳格式,我想完全根据日期检查条件(例如,2021-08-23)。

数据框如下所示:

ID,timestamp
ID-1,8/23/2021 2:11:13
ID-2,7/23/2021 11:5:21
ID-3,7/5/2021 20:49:13
ID-4,6/30/2021 14:11:13

我是 scala 的新手,我需要帮助。我正在使用代码 -

df.filter(to_date(df("timestamp")).gt(lit(now)))

- - - - - - - - - - - - - - - - - - - - _

  1. 我正在使用普通的 If-else 来获取动态条件;我创建了一个 config.YAML 文件并创建了一个级别 -
timeframe_list:
    - level: last 30 days
    - level: last 50 days
    - level: last 100 days

我正在获取这些级别并在此基础上创建 if 条件,有没有更直接的方法可以做到这一点。

非常感谢您的帮助。

标签: scalaapache-sparkapache-spark-sql

解决方案


推荐阅读