欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

Hivesql里的limit使用误区

发布时间:2025/3/11 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Hivesql里的limit使用误区 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
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的是最快的,嵌套啥的都比较忙。与关系型数据库不同。 调优的写法执行更快。


总结

以上是生活随笔为你收集整理的Hivesql里的limit使用误区的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。