作者: 永洪BI??來源: 永洪科技??時間:2020年01月15日
在上一篇我們講到了業(yè)務人員可以用永洪產(chǎn)品的自服務數(shù)據(jù)集進行自助式分析(利用永洪自服務數(shù)據(jù)查詢,輕松構(gòu)建復雜數(shù)據(jù)集),那么IT管理員如何管理業(yè)務人員進行分析呢?
永洪的某財險客戶需要業(yè)務用戶進行自助式分析,高峰期在350并發(fā)以上,企業(yè)IT管理部希望對所有IT人員和業(yè)務人員查詢數(shù)據(jù)的數(shù)據(jù)量大小優(yōu)先級進行管控,然后讓業(yè)務用戶進行自助式分析。
因為該財險公司已經(jīng)將數(shù)據(jù)存儲在了Cloudera Impala集群中。該財險的IT管理部門會根據(jù)每一個用戶的數(shù)據(jù)量大小、業(yè)務類型分配隊列,并且詳細設(shè)置該隊列中的默認查詢參數(shù),尤其是mem_limit參數(shù)和最大并發(fā)數(shù),這樣可以較好的限制用戶之間的影響,為了避免惡意用戶的使用,可以限制用戶自己設(shè)置mem_limit參數(shù),盡可能得保證Impala集群的穩(wěn)定性。
1、在Impala數(shù)據(jù)庫層面,IT管理員或者DBA可以在session建立之后進行設(shè)置。
設(shè)置隊列限制
set request_pool = queue_it;
用戶在創(chuàng)建一個數(shù)據(jù)源連接(connection)之后,可以通過set request_pool=pool_name的方式設(shè)置改session的請求提交的對應的隊列。
設(shè)置最大內(nèi)存使用限制
set mem_limit=10G;
設(shè)置內(nèi)存10G(單節(jié)點上的內(nèi)存量),impala經(jīng)常會over estimate SQL語句需要的資源,所以強烈建議在執(zhí)行SQL之前,使用 set mem_limit 限制SQL查詢的內(nèi)存消耗。
2、永洪產(chǎn)品設(shè)置
提供了在數(shù)據(jù)源連接后對session進行設(shè)置的屬性。
針對于不同2種類的用戶,IT管理員期望根據(jù)數(shù)據(jù)量大小、業(yè)務類型設(shè)置分配的隊列。
實現(xiàn)步驟:
選擇永洪產(chǎn)品數(shù)據(jù)源,impala:
在設(shè)置好Impala數(shù)據(jù)源的基礎(chǔ)連接信息后,選擇數(shù)據(jù)源的高級屬性進行如圖設(shè)置。
直接在隊列名設(shè)置queue_it , 并且點擊添加高級屬性限制mem_limit=2G。
如下所示,IT部門的數(shù)據(jù)源為Impala_it,設(shè)置如下:
財務部門的數(shù)據(jù)源Impala_finance,設(shè)置如下:
兩者存儲在數(shù)據(jù)源上的資源樹上,如下圖所示:
財險部門的用戶(user_finance)在制作數(shù)據(jù)集時直接選擇對應的數(shù)據(jù)源即可查詢數(shù)據(jù)。
?