Spark时间戳问题,时间戳相同但不匹配
Posted
技术标签:
【中文标题】Spark时间戳问题,时间戳相同但不匹配【英文标题】:Spark Timestamp issue, same timestamp but mismatching 【发布时间】:2018-06-06 19:34:59 【问题描述】:我正在将数据从源移动到我的存储桶中,并且需要编写一个用于数据验证的脚本。但是对于 Timestamp 数据类型,我面临一些奇怪的问题:我有两行包含两个相同的时间戳 [2017-06-08 17:50:02.422437]、[2017-06-08 17:50:02.422],因为第二个由于不同的文件系统配置而具有不同的格式 Spark 认为它们不同。有没有办法解决这个问题?比较理想的方式是在进行数据框比较时忽略该列。
【问题讨论】:
【参考方案1】:您可以使用 unix_timestamp 并使用该数字进行比较。对于实际的日期要求,您可以使用 from_unixtime 转换为您需要的格式。不确定它是处理大量数据的有效方法...
sqlContext.sql("Select unix_timestamp('2017-06-08 17:50:02.422'), unix_timestamp('2017-06-08 17:50:02.422437') ").show
+----------+----------+ | _c0| _c1| +----------+----------+ |1496958602|1496958602| +----------+----------+
【讨论】:
这个有道理,让我试试看效果如何。以上是关于Spark时间戳问题,时间戳相同但不匹配的主要内容,如果未能解决你的问题,请参考以下文章