91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

報表連hive時數據量比較大如何分頁查詢

發布時間:2021-12-16 14:20:27 來源:億速云 閱讀:204 作者:小新 欄目:大數據

小編給大家分享一下報表連hive時數據量比較大如何分頁查詢,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Hive 提供了類似 Oracle 的 rownum 機制,類似這樣(效率比較差):

select * from (select row_number() over (order by create_time desc) as rownum,u.* from user u) mm where mm.rownum between 10 and 15;

還有一種辦法,如果表里有唯一標識字段也可以借助這個字段和 limit 實現。比如:
獲取第一頁數據:
注:同時需要記錄這 10 條中最大的 id 為 preId,作為下一頁的條件。

select * from table order by id asc limit 10;

獲取第二頁數據:
注:同時保存數據中最大的 id 替換 preId。

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

對于數據庫分頁, 這里曾經分析過存在的問題 大清單報表應當怎么做? 也給出了改善的思路,可以參考:
把取數和呈現做現兩個異步線程,取數線程發出 SQL 后就不斷取出數據后緩存到本地存儲中,呈現線程根據頁數計算出行數到本地緩存中去獲取數據顯示。這樣,只要已經取過的數據就能快速呈現,不會有等待感,還沒取到的數據需要等待一下也是正常可理解的;而取數線程只涉及一句 SQL,在數據庫中是同一個事務,也不會有不一致的問題。這樣,兩個問題都能得到解決。不過這需要設計一種可以按行號隨機訪問記錄的存儲格式,不然要靠遍歷把記錄數出來,那反應仍然會很遲鈍。

畫個圖感受感受:

報表連hive時數據量比較大如何分頁查詢
②和③分別是兩個線程,一個負責取數緩存,一個負責讀緩存做報表呈現

看起來有點復雜,可直接用做好的工具: 海量清單與分組報表的實現
還能導出 Excel,也能打印。

看完了這篇文章,相信你對“報表連hive時數據量比較大如何分頁查詢”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湖南省| 黎平县| 商水县| 甘肃省| 贵阳市| 江达县| 原阳县| 大邑县| 句容市| 东宁县| 新密市| 芦山县| 义马市| 牟定县| 四平市| 连州市| 天祝| 云龙县| 天峨县| 车致| 上犹县| 三台县| 屏边| 乌审旗| 安溪县| 全椒县| 电白县| 靖西县| 武功县| 门头沟区| 综艺| 荣成市| 奉新县| 新民市| 达拉特旗| 准格尔旗| 通道| 叶城县| 精河县| 团风县| 南陵县|