hive大数据量实现分页查询,java结合mybatis及多数据源(hive、MySQL)

 表信息(textfile存储格式):

desc dim_tencentyk_info;
OK
url                     string                                      
video_id                string                                      
video_name              string                                      
tv_id                   string                                      
name                    string                                      
director                string                                      
player_list             string                                      
category                string                                      
tariff                  string                                      
attributes              string                                      
albumid                 string                                      
current_number          string                                      
total_number            string                                      
description             string                                      
age                     string                                      
area                    string                                      
classification          string                                      
language                string                                      
score                   string                                      
app_id                  string                                      
day_id                  string                                      
                 
# Partition Information          
# col_name              data_type               comment             
                 
day_id                  string                    

SQL语句(between and ,包头包尾,即between #{offsetNum} and #{endNum}):

select t.* from (select url,video_id,video_name,tv_id,name,director,player_list,category,tariff,attributes,age,area,classification,language,score,(row_number() over(order by video_id)) rn from shmc.dim_tencentyk_info where day_id=20201025 and classification='电影') t where t.rn between 10 and 20;

查询结果:

Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2020-10-29 10:14:02,709 Stage-1 map = 0%,  reduce = 0%
2020-10-29 10:14:12,716 Stage-1 map = 100%,  reduce = 0%, Cumulative CPU 5.69 sec
2020-10-29 10:14:21,211 Stage-1 map = 100%,  reduce = 100%, Cumulative CPU 13.0 sec
MapReduce Total cumulative CPU time: 13 seconds 0 msec
Ended Job = job_1601176554880_0455
MapReduce Jobs Launched: 
Stage-Stage-1: Map: 1  Reduce: 1   Cumulative CPU: 13.0 sec   HDFS Read: 21453 HDFS Write: 4101 SUCCESS
Total MapReduce CPU Time Spent: 13 seconds 0 msec
OK
http://v.youku.com/v_show/id_XMTI1ODQxNDk5Ng==.html     314603749       太聪明。。会失恋的!    314603749       宅女侦探桂香    彭顺    周渝民/王珞丹/任达华    悬疑/爱情/院线  免费    预告            中国    电影            7.8      10
http://v.youku.com/v_show/id_XMTI2MzY4OTgwMA==.html     315922450       小纸条写了啥她们就成闺蜜了      315922450       少女哪吒        李霄峰  李嘉琪/李浩菲/陈谨      剧情/院线       免费    预告            中国    电影    7.1      11
http://v.youku.com/v_show/id_XMTI3MDExMzAw.html 31752825        罗宾·威廉斯错药“副作用”《老家伙》片花预告       31752825        老家伙  沃尔特·拜克     约翰·特拉沃尔塔/罗宾·威廉姆斯/凯利·普雷斯顿     喜剧    免费    片花美国    电影            6.3     12
http://v.youku.com/v_show/id_XMTI3MjUzNjQwOA==.html     318134102       《小时代4灵魂尽头》“花开不散”特辑       318134102       小时代4灵魂尽头 郭敬明  杨幂/郭采洁/谢依霖      喜剧/爱情/剧情/院线     免费    片花中国/中国台湾   电影            8       13
http://v.youku.com/v_show/id_XMTI4NDI0NjEzMg==.html     321061533       天不怕地不怕的齐天大圣,被一只叽叽喳喳的小和尚弄崩溃了  321061533       西游记之大圣归来        田晓鹏  张磊/林子杰/吴文伦      动画/院线       免费片花            中国    电影            8.8     14
http://v.youku.com/v_show/id_XMTI5MzA5MzU4MA==.html     323273395       指尖上的旋律    323273395       指尖上的旋律    黑羽    刘雨珂/邹月婷/车荣菲    剧情/短片/网络大电影    付费    正片            中国    电影            5.3      15
http://v.youku.com/v_show/id_XMTI5MzE3MjQ0MA==.html     323293110       我不怕黑        323293110       我不怕黑        曹广梁  陈琛/陈泓帆/郑金枫      剧情/短片/网络大电影    付费    正片            中国    电影            5.6      16
http://v.youku.com/v_show/id_XMTI5MzE4NDkxNg==.html     323296229       踮起脚尖        323296229       踮起脚尖                        剧情/短片/网络大电影    付费    正片            中国    电影            5.4     17
http://v.youku.com/v_show/id_XMTM0NDE2NTU2.html 33604139        《阿凡达》花絮之单兵作战机甲    33604139        阿凡达  詹姆斯·卡梅隆   萨姆·沃辛顿/佐伊·索尔达娜/史蒂芬·朗     科幻/奇幻/冒险/动作     免费    片花美国/英国       电影            8.8     18
https://v.youku.com/v_show/id_XMjkyMTg0NzI1Ng==.html    730461814       穿越后厄运连连!原因居然是他的这张脸    730461814       夺路而逃        吴林    张一山/朴河宣/何沄伟    动作/喜剧       免费    正片    2016-11-10中国    电影            4.2     19
https://v.youku.com/v_show/id_XMzEyMzM5MzY2NA==.html    780848416       小朋友的世界你不懂!翻脸和好总在一瞬间!        780848416       乔乔的魔法      孙爱国  苏世一/吴晶/杨雨辰      儿童/剧情/院线  免费    正片    2017-09-10       中国    电影            7.1     20
Time taken: 30.971 seconds, Fetched: 11 row(s)

 

方法共有两种,上面使用的是第二种:

一、借助唯一标识字段

select * from table order by id asc limit 10;

select * from table where id >preId order by id asc limit 10;

二、使用row_number()函数

select * from (select row_number() over (order by xx) as rnum ,table.* from table)t where rnum betwneen 1 to 10;

注:参考博客:hive查询分页

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值