中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

vertica如何實現存儲

發布時間:2021-11-24 17:11:12 來源:億速云 閱讀:158 作者:柒染 欄目:互聯網科技

這篇文章給大家介紹vertica如何實現存儲,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

JAVA 等通用語言缺乏結構化計算類庫,即使最簡單的結構化算法,比如查詢、排序、聚合,也要從零開始硬編碼。對于很常用的算法,比如分組匯總、關聯查詢,則要編寫大篇幅的代碼。對于復雜些的算法,甚至要設計多個類才能勉強實現。

只要多花時間,JAVA 總是可以實現算法的,但高耦合性的缺點卻無法避免。存儲過程本應獨立于 JAVA 代碼,修改存儲過程本不該影響 JAVA 代碼。但 JAVA 開發的存儲過程會和其他 JAVA 代碼緊密耦合,只要修改存儲過程,就必然重新編譯打包整個項目,項目的維護成本必然升高。

如果使用集算器,實現 vertica 存儲過程就會容易很多。

vertica如何實現存儲

集算器具有豐富的結構化類庫,無論查詢、排序、聚合還是分組匯總、關聯查詢,都可以用內置函數直接實現。集算器也提供了針對結構化數據的分支判斷、循環語句、動態語法,復雜業務邏輯也可輕松實現。集算器還提供了標準的 JDBC 接口,供 JAVA 代碼調用,實際的存儲過程則以腳本文件的形式存在,修改存儲過程不影響 JAVA 代碼。

例如:vertica 中 sales 表存儲銷售員的訂單信。

vertica如何實現存儲

邏輯算法:對每一位銷售,找到他金額最大和最小的 3 筆訂單,分別打上 "top3" 和 "bottom3" 的標記,考慮到訂單數太少沒意義,特規定某銷售的訂單數小于 3 時,則不計算 top3,訂單數小于 6 時,則不計算 bottom3。計算結果應當如下:

vertica如何實現存儲

集算器代碼如下:


ABCD
1=connect@l("verticaDB")


2=A1.cursor@x("select   * from sales  order by   sellerid,amount")
3for   A2;sellerid

/for   each seller
4
if   A3.len()>=3=A3.m(to(-1,-3))=C4.derive("top3":orderType)
5
if   A3.len()>=6=A3.m(to(3))=C5.derive("bottom3":orderType)
6
=@|D4|D5
/merge   top+bottom for every seller
7return   B6



關于vertica如何實現存儲就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

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

AI

吉林省| 石楼县| 利川市| 忻城县| 当雄县| 陆川县| 渝北区| 郓城县| 鹤峰县| 曲松县| 梅河口市| 保亭| 祁阳县| 特克斯县| 西宁市| 旌德县| 金沙县| 金溪县| 彝良县| 义乌市| 铜梁县| 陇川县| 丰镇市| 龙口市| 嘉荫县| 泌阳县| 梁平县| 桂林市| 绍兴市| 肥西县| 宁武县| 宁蒗| 景宁| 宜州市| 兴城市| 井陉县| 聂荣县| 龙口市| 云阳县| 环江| 固阳县|