首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >蜂巢时间窗函数的错误

蜂巢时间窗函数的错误
EN

Stack Overflow用户
提问于 2016-12-19 06:43:40
回答 1查看 168关注 0票数 1

我有一张名叫gmv_active_mem_monthly的桌子。在这里可以看到整排:

代码语言:javascript
复制
month   gmv_monthly active_member_monthly
201612  231657626042    2602064
201611  373576915733    3498039
201610  367824193757    3648708
201609  356167649082    3686007
201608  383362147243    3998595
201607  383828659139    3917252
201606  332929299345    3627298
201605  323084120955    3579938
201604  280834688208    3293682
201603  282180201106    3316420
201602  246386923468    3097107
201601  261355415707    3186347
201512  273860930491    3071105
201511  246606316046    2981534
201510  237766306308    2873558
201509  160390583711    2267418
201508  124370765573    2002018
201507  110236706032    1855539
201506  84844225170 1467889
201505  60651906632 1180800
201504  46808796126 917681
201503  12498656329 427529
201502  4918371362  190932
201501  2824293727  129203

我在hive中运行了一个简单的代码:

代码语言:javascript
复制
select  month,
        sum(gmv_monthly) over
        (
            order by  "month"
            rows      between 12 preceding and 1 preceding
        ) as total_gmv,
        sum(active_member_monthly) over
        (
            order by  "month"
            rows      between 12 preceding and 1 preceding
        ) as total_active_mem

from    novaya.gmv_active_mem_monthly 
;

但是结果是完全错误的,当我在另一个数据集上使用相同的代码时,它是正确的。以上数据集的结果是:

代码语言:javascript
复制
month   total_gmv   total_active_mem
201501  NULL    NULL
201502  2824293727  129203
201503  7742665089  320135
201504  20241321418 747664
201505  67050117544 1665345
201506  127702024176    2846145
201507  212546249346    4314034
201508  322782955378    6169573
201509  447153720951    8171591
201510  607544304662    10439009
201511  845310610970    13312567
201512  1091916927016   16294101
201601  1365777857507   19365206
201602  1624308979487   22422350
201603  1865777531593   25328525
201604  2135459076370   28217416
201605  2369484968452   30593417
201606  2631917182775   32992555
201607  2880002256950   35151964
201608  3153594210057   37213677
201609  3412585591727   39210254
201610  3608362657098   40628843
201611  3738420544547   41403993
201612  3865391144234   41920498

我们可以检查1624308979487从201602减去1365777857507从201601不等于201601的gmv_active_mem_monthly值。那密码怎么了?代码在另一个数据集上运行完美,没有像这样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 06:58:05

没有问题。结果是正确的。

差别不是与1个月,而是与2月,每边的范围之一。

代码语言:javascript
复制
201502  4,918,371,362          <-- This value goes only with 201601  
201503  12,498,656,329         
201504  46,808,796,126 
201505  60,651,906,632 
201506  84,844,225,170 
201507  110,236,706,032 
201508  124,370,765,573 
201509  160,390,583,711 
201510  237,766,306,308 
201511  246,606,316,046 
201512  273,860,930,491 
201601  261,355,415,707        <-- This value goes only with 201602
201602  
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41217071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档