gpt4 book ai didi

hadoop - DaysBetween in Pig 给出错误的 3 月份结果

转载 作者:可可西里 更新时间:2023-11-01 14:40:54 25 4
gpt4 key购买 nike

我正在尝试将 vertica 查询转换为 Pig,它基本上可以找出两个日期之间的天数。当我转换代码并尝试使用 PIG 中的 DaysBetween 函数时,它仅针对 3 月份提供不同的输出。

PIG 结果:

Y = FOREACH X GENERATE
(DaysBetween((datetime)ToDate('2015-04-01'),ToDate('2015-03-01')));
Output:- (30)

Vertica 结果:

SELECT JULIAN_DAY('2015-04-01')-JULIAN_DAY('2015-03-01');
Output:- (31)

当我检查一年中其他月份的相同内容时,我没有收到任何错误。

PIG 结果:

Y = FOREACH X GENERATE
(DaysBetween((datetime)ToDate('2015-03-04'),ToDate('2015-02-04')));
Output:- (28)

Vertica 结果:

SELECT JULIAN_DAY('2015-03-04')-JULIAN_DAY('2015-02-04');
Output :- 28

我找不到造成差异的原因。需要一些关于如何解决问题的建议。

最佳答案

将时区指定为 UTC 或 GMT 会有所帮助。

Y = FOREACH X GENERATE
(DaysBetween((datetime)ToDate('2015-04-01', 'yyyy-MM-dd', 'UTC'),ToDate('2015-03-01', 'yyyy-MM-dd', 'UTC')));

关于hadoop - DaysBetween in Pig 给出错误的 3 月份结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30160609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com