【问题标题】:Spark Timestamp issue, same timestamp but mismatchingSpark时间戳问题,时间戳相同但不匹配
【发布时间】:2018-06-06 19:34:59
【问题描述】:

我正在将数据从源移动到我的存储桶中,并且需要编写一个用于数据验证的脚本。但是对于 Timestamp 数据类型,我面临一些奇怪的问题:我有两行包含两个相同的时间戳 [2017-06-08 17:50:02.422437]、[2017-06-08 17:50:02.422],因为第二个由于不同的文件系统配置而具有不同的格式 Spark 认为它们不同。有没有办法解决这个问题?比较理想的方式是在进行数据框比较时忽略该列。

【问题讨论】:

    标签: scala apache-spark timestamp


    【解决方案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|
    +----------+----------+

    【讨论】:

    • 这个有道理,让我试试看效果如何。
    猜你喜欢
    • 2016-01-17
    • 2016-02-06
    • 2021-02-26
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多