设为首页 加入收藏

TOP

Hivesql里的limit使用误区
2018-12-30 13:04:39 】 浏览:210
Tags:Hivesql limit 使用 误区
版权声明:有问题咨询请发邮件zengmiaogen@126.com。CSDN的留言和私信不好使。 https://blog.csdn.net/zengmingen/article/details/78592708
select * from HIVE_D_MT_UU_H_SPARK limit 1000;
读取前1000行。


需求:
在hive表前1000行里,过滤出不重复的refid,imsi。
错误的写法:
select distinct refid,imsi from HIVE_D_MT_UU_H_SPARK limit 1000;
会去读取全表,把0~1000行的不重复refid,imsi显示出来。

正确的写法:
select distinct refid,imsi from (select * from HIVE_D_MT_UU_H_SPARK limit 1000);


调优的写法:
CREATE TABLE TEMP_HIVE_D_MT_UU_H_SPARK AS
select * from HIVE_D_MT_UU_H_SPARK limit 1000;
select distinct refid,imsi from TEMP_HIVE_D_MT_UU_H_SPARK;


hive最快的执行就是不走MapReduce。简单的select的是最快的,嵌套啥的都比较忙。与关系型数据库不同。
调优的写法执行更快。



】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hbase表映射成hive中 下一篇Hive(四)——电商交易项目案例

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目