Amazon web services AWS Athena alb日志:每天获取请求url的最大每分钟点击数

Amazon web services AWS Athena alb日志:每天获取请求url的最大每分钟点击数,amazon-web-services,hive,amazon-athena,presto,amazon-elb,Amazon Web Services,Hive,Amazon Athena,Presto,Amazon Elb,我试图从alb日志中获取每天请求URL的最大点击率(吞吐量)。我使用表投影对表进行分区。试图找出查询以获得过去1-3年中所有URL每分钟最大点击数的期望结果。 结果应该是这样的(只是一个示例,时间戳可以是任何格式) 时间戳 网址 每分钟最大点击数 2019年12月29日上午8:01 url1 10720 2019年12月29日上午10:35 url2 21329 2019年12月29日上午10:35 url3 37420 2019年12月30日上午11:53 url1 5898 2019年12月

我试图从alb日志中获取每天请求URL的最大点击率(吞吐量)。我使用表投影对表进行分区。试图找出查询以获得过去1-3年中所有URL每分钟最大点击数的期望结果。 结果应该是这样的(只是一个示例,时间戳可以是任何格式)

时间戳 网址 每分钟最大点击数 2019年12月29日上午8:01 url1 10720 2019年12月29日上午10:35 url2 21329 2019年12月29日上午10:35 url3 37420 2019年12月30日上午11:53 url1 5898 2019年12月30日下午1:30 url2 14230 2019年12月30日下午5:19 url3 20000 您可以尝试:

with cte as (
   select date_trunc('minute',timestamp) as minute, url, count(*) as hits_per_minute from mytable
group by 1,2
)
select max_by(minute, hits_per_minute) as timestamp, url, max(hits_per_minute) from cte
group by date_trunc('day', minute), url
说明: 通用表表达式(
cte
)将计算每个url每分钟的点击次数,然后从中提取达到最大点击次数的分钟数(使用
max\u by
函数)和最大点击次数,按
天和
url
分组

有关以下内容,请参阅文档:

  • max_by
    功能:
  • date\u trunc
    功能:

它成功了。我还使用了来自_iso8601 _timestamp(time)的进一步帮助,如果您可以提供关于将类似类型的URL作为一个结果而不是多行获取的帮助。例如,如下所示的请求URL是单独显示的,因为它们是不同的。我只想把这些组合在一起。e、 作为一个结果