Hivesql里的limit使用
在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 H...
·
在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的是最快的,嵌套啥的都比较忙。与关系型数据库不同。
调优的写法执行更快。
更多推荐
已为社区贡献2条内容
所有评论(0)