Spark 数据帧仅通过日期部分过滤时间戳

伊巴拉夫

如何过滤具有时间戳类型列但仅过滤日期部分的火花数据框。我在下面尝试过,但它仅在时间为 00:00:00 时匹配。

基本上我希望过滤器将所有行与日期2020-01-01(3 行)相匹配

import java.sql.Timestamp

val df = Seq(
  (1, Timestamp.valueOf("2020-01-01 23:00:01")),
  (2, Timestamp.valueOf("2020-01-01 00:00:00")),
  (3, Timestamp.valueOf("2020-01-01 12:54:00")),
  (4, Timestamp.valueOf("2019-12-15 09:54:00")),
  (5, Timestamp.valueOf("2019-12-09 10:12:43"))
).toDF("someCol","someTimeStamp")

df.filter(df("someTimeStamp") === "2020-01-01").show

+-------+-------------------+
|someCol|      someTimeStamp|
+-------+-------------------+
|      2|2020-01-01 00:00:00|   // ONLY MATCHED with time 00:00
+-------+-------------------+
查理花

使用to_date函数从时间戳中提取日期:

scala> df.filter(to_date(df("someTimeStamp")) === "2020-01-01").show
+-------+-------------------+
|someCol|      someTimeStamp|
+-------+-------------------+
|      1|2020-01-01 23:00:01|
|      2|2020-01-01 00:00:00|
|      3|2020-01-01 12:54:00|
+-------+-------------------+

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spark - 如果数据帧中的某个日期有多个时间戳可用,则按时间戳降序排列

Spark数据帧将整数转换为时间戳并查找日期差

Spark-Scala数据帧中的时间戳比较

通过在 sql 中仅传递部分日期来过滤时间戳中的数据

Spark中数据框列的拆分过滤

将时间戳转换为Spark数据框中的日期

可以通过ISNUMERIC函数过滤Spark数据帧吗?

在 hh:mm:ss 部分过滤 SQlite unix 时间戳数据

按时间戳写入Spark分区数据

从 Scala/spark 中时间戳的数据帧列中获取最大值

使用Spark / Java获取数据帧每一行的当前时间戳

使用Spark / Java获取数据帧每一行的当前时间戳

spark scala 比较具有时间戳列的数据帧

如何强制avro writer在spark scala数据帧中以UTC格式写入时间戳

Spark数据帧中具有特定条件的时间戳的唯一ID

如何从 Spark 中带时间戳的数据帧中删除未更改的值?

如何使用pyspark从spark数据框中过滤/提取无效的时间戳值

根据日期过滤Spark数据框

如果行与另一个DataFrame中的ID匹配且时间戳低于其他帧时间戳,则如何过滤Scala Spark DataFrame

通过最新时间戳对Spark DataFrame中的行进行重复数据删除

过滤 Spark 数据框

Spark:错误的时间戳解析

时间戳转换 Spark Scala

spark rdd时间戳转换

通过不同的时间戳格式过滤数据帧

从时间戳到日期的Apache Spark行强制转换异常

Spark Scala从日期开始创建时间戳列

通过Spark组查找时间戳的最小值

Spark数据框:将bigint转换为时间戳