presto计算日期间隔天数或者小时间隔——date_diff函数使用

“Presto是Facebook最新研发的数据查询引擎,可对250PB以上的数据进行快速地交互式分析。据称该引擎的性能是 Hive 的 10 倍以上。”,亲身用过之后,觉得比hive快了10倍不止。

hive中查询日期间隔的函数是datediff:

select datediff('2018-09-07','2018-09-05');


结果是2。

presto中我们需要达到相同的目的,函数是date_diff,而且写法稍有不同:

select date_diff('day',cast('2018-09-05' as date),cast('2018-09-07' as date));

 

结果也是2。

date_diff函数:

1)需要提供参数'day',表示要查询的是天数间隔;要查询小时,则提供参数'hour'

2)并且后面传参限制为date类型;

3)最后要注意是后面减去前面。

这三点是与hive的datediff函数的不同点。
---------------------

presto 日期做差的转换,这样试试看

select date_diff('day',cast(first_order_date as date),cast(last_order_date as date));

后面的值减去前面的值, 



原文链接:https://blog.csdn.net/chenkfkevin/article/details/82884506

posted @ 2019-08-08 14:58  静悟生慧  阅读(15439)  评论(1编辑  收藏  举报