计算配置单元数据中的大多数条目(模式)

时间:2015-11-19 22:54:46

标签: sql hadoop hive hiveql

我无法编写查询来查找2010年3月6日用户生成大部分推文的当天小时。

我为我的推特数据创建了表格。

create table twitter.full_text_ts as
select id, cast(concat(substr(ts,1,10), ' ', substr(ts,12,8)) as timestamp) as        ts, lat, lon, tweet
from full_text;

现在我需要查询它以查找当天哪个小时在特定日期的推文最多。

我可以通过输入

查看任何特定日期推文的所有时间戳(ts)
select ts 
from twitter.full_text_ts
where to_date(ts) = '2010-03-06'
order by ts desc;

此输出:

2010-03-06  02:10:01 
2010-03-06  02:11:15 and so on.

我想做的是按小时分组,这样我就可以看到哪个小时的参赛作品最多。

谢谢,

Cale的

2 个答案:

答案 0 :(得分:1)

尝试以下方法:

select DATEPART(HH, ts) [Hour], COUNT(*) [Count]
from twitter.full_text_ts 
where to_date(ts) = '2010-03-06' 
GROUP BY DATEPART(HH, ts) [Hour] 
order by 1 desc;

答案 1 :(得分:1)

您可以使用hour()功能:

select hour(ts), count(*) as cnt 
from twitter.full_text_ts
where to_date(ts) = '2010-03-06'
group by hour(ts)
order by cnt desc;