scala - Spark时间戳问题,时间戳相同但不匹配
问题描述
我正在将数据从源移动到我的存储桶中,并且需要编写一个用于数据验证的脚本。但是对于 Timestamp 数据类型,我面临一些奇怪的问题:我有两行包含两个相同的时间戳 [2017-06-08 17:50:02.422437]、[2017-06-08 17:50:02.422],因为第二个由于不同的文件系统配置而具有不同的格式 Spark 认为它们不同。有没有办法解决这个问题?理想的方法是在进行数据框比较时忽略此列。
解决方案
您可以使用 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| +----------+----------+
推荐阅读
- javascript - 如何在每个用户操作上运行一个函数?
- oracle12c - Oracle 12c 连接系统时不检查密码
- prestashop-1.7 - 从购物车中删除商品之前的确认消息
- windows - 使用 Python 检查 Chrome 中是否使用了网络摄像头
- php - http_build_query() 是向 jQuery 传输数据的安全方式吗?
- hive - Hive - 无法在 Hive 中使用 PATINDEX
- javascript - 检查浏览器是否在线/互联网连接(无插件)
- linux - 如何在字符串数组上循环
- docker - IIS 反向代理卡在一个文件上
- excel - 最近联系日期的客户退货状态