亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

性能優化技巧 - 集群維表

發布時間:2020-08-03 19:29:20 來源:網絡 閱讀:130 作者:raqsoft 欄目:大數據

事實表和維表進行關聯計算時,需要對維表進行頻繁的隨機訪問,因此維表要盡量放在內存中,才能提高關聯計算的性能。如果維表較大,單機內存放不下,就應該考慮用集群方式,將維表分段讀入多臺機器的內存。下面舉例說明集群維表的用法。

假設有2個計算節點,分別為127.0.0.1:8281、127.0.0.1:8282。執行如下腳本,可將產品表加載到節點機內存中:


AB
1=["127.0.0.1:8281","127.0.0.1:8282"]
2fork [[1,20000000],[20000000,40000000]];A1=connect("demo1").query@x("select   productID,name,price from product where productID>? and productID<=?  order by productID  ",A2(1),A2(2)).keys(productID)
3
=env(product,B2)

A2:語句fork可在多個節點機上并行執行任務,其中[1,20000000]是第1臺節點機的入口參數。

B2:各節點按入口參數分別查詢產品表。其中1號節點取出編號在1-20000000之間的產品。需要注意的是:各節點數據不能有重合,需按維表主鍵排序,需用key函數建立物理鍵。

B3:函數env用來在節點機設置全局變量,各節點機變量名相同,。

接下來實現業務算法:


A
1=["127.0.0.1:8281","127.0.0.1:8282"]
2=memory(A1, product)
3=connect("demo1").cursor@x("select   orderID,productID,client, quantity from order")
4=A3.switch(productID,A2: productID)
5=A4.groups(client;sum(productID.price *quantity))

A2:按名字product在各節點機尋找全局變量,返回集群維表。注意集群維表是個遠程引用,對應的數據在各節點機。

A3:從數據庫取出訂單事實表。事實表通常數據量較大,需要用游標返回。事實表的來源不限于數據庫,任意游標都可以。

A4:對事實表和集群維表進行關聯計算。除了cs.switch()函數,也可以用cs.join()函數進行關聯計算。

A5:對關聯結果進一步計算,這里以分組匯總為例。

 

上述例子中,集群維表來自于數據源,底層數據結構為序表,但序表無壓縮,占用空間較大。如果以SPL組表為數據源,則內存中的數據結構為內表,而內表有壓縮,占用空間較小。

假設維表已分成2份,各自存為組表,名字都叫product.ctx,分別放置在兩個節點機的0數據區上,則加載數據的腳本如下:


A
1=file@z0("product.ctx", ["127.0.0.1:8281","127.0.0.1:8282"])
2=A1.create().memory()
3=env(product,A2)

A1:在各節點機的0數據區,尋找名為product.ctx的組表,定義為分布組表。

A2:將分布組表加載到各節點機內存,形成集群維表。

A3:在匯總機定義全局變量product,指向集群維表。

實現業務算法的腳本如下:


A
1=connect("demo1").cursor@x("select   orderID,productID,client, quantity from order")
2=A1.switch(productID,product: productID)
3=A2.groups(client;sum(productID.price *quantity))

A2:直接用全局變量名product引用集群維表,并參與關聯計算。


向AI問一下細節

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

AI

全椒县| 达日县| 大方县| 阿尔山市| 进贤县| 东辽县| 平乡县| 望都县| 阳曲县| 普格县| 嘉兴市| 渝北区| 巴塘县| 阳高县| 建始县| 高阳县| 迁西县| 抚州市| 赤壁市| 铜川市| 安新县| 隆尧县| 静乐县| 南宫市| 花莲市| 沭阳县| 佳木斯市| 上饶市| 南召县| 仪征市| 大洼县| 临猗县| 曲靖市| 宁津县| 达拉特旗| 塔城市| 天全县| 和龙市| 哈巴河县| 潮安县| 内丘县|