疫情三年四月六日,2022年4月6日 20:40:05
夏令时数据,这个问题本身就挺难描述的其实。
最近遇到了一点问题,同一条数据从oracle源通过dataX抽取至mc(类似hive)后,数据发生了变动,oracle是1987-09-14 00:00:00,在mc里查询后发现有时是1987-09-14 00:00:00,有时是1987-09-13 23:00:00,我也是查询了很多资料,而且是偶发性的异常,有时候对,有时候错,后来定位到问题是物理机的版本不一致造成的,同一个集群,但是两台物理机底层jdk版本不一致,一个是jdk1.8.112,一个是jdk1.8.226,两个版本的jdk会在date.format日期转换的时候出现问题,造成不同的结果,于是写入的数据就会出现错误。
将底层jdk更改为可用的jdk即可。
之前在搜索时我记得就有一个hive的问题,说是时间减小了一个小时,但是没有找到原因,其实就是hive的底层jdk版本不对导致的,具体哪个版本可用可以通过date.format来测试一下