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的是最快的,嵌套啥的都比較忙。與關系型數據庫不同。
調優的寫法執行更快。