Python全系列 教程
3567个小节阅读:5929.6k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
直接想到的sql语句:
xxxxxxxxxx
select item_id,count(user_id) sale_num
from to_user_log
where user_id is not null
group by item_id
order by sale_num desc
limit 10;
全局排序,hql转换后的mr作业只有一个reduce任务。当数据量比较大时order by就要慎用,很有可能导致reduce需要较长的时间才能完成,或者完不成。需要对sql进行优化。
xxxxxxxxxx
select item_id,count(user_id) sale_num
from to_user_log
where user_id is not null
group by item_id
distribute by sale_num
sort by sale_num desc
limit 10;
查询结果:
xxxxxxxxxx
Total MapReduce CPU Time Spent: 4 minutes 45 seconds 150 msec
OK
item_id sale_num
67897 345905
783997 178005
636863 82480
631714 42771
61518 34801
559967 28816
770668 28431
94609 23027
1059899 22242
1024557 21045
Time taken: 184.565 seconds, Fetched: 10 row(s)
创建热卖商品结果表
xxxxxxxxxx
create table if not exists tm_hot_sale_product(
item_id int comment "商品id",
sale_num int comment "售卖数量",
date_day string comment "添加日期"
)
row format delimited
fields terminated by ","
lines terminated by "\n";
将查询结果插入到结果表中
xxxxxxxxxx
from to_user_log
insert into tm_hot_sale_product
select item_id,count(user_id) sale_num,'20300101'
where user_id is not null
group by item_id
distribute by sale_num
sort by sale_num desc
limit 10;