Hive資料倉儲之金融業務 業務實戰一

2021-09-21 18:49:28 字數 4685 閱讀 6082

資料**於櫃檯系統中的業務表和凌志營銷一體化系統中的表

系統資料庫1:

hive_s5_szdb_sz_asset_client

hive_s5_szdb_sz_his_his_deliver

hive_s5_szdb_sz_his_his_fundjour

hive_s5_szdb_sz_his_his_assetdebit

系統資料庫2:

hive_s8__t_gxgl_gxmx_query

hive_s8__t_ehr_jjr_jbxx

基於星型模型開發

事實表關聯維度表

業務準備:

1.月交易量=收入=佣金+發生金額+融資應付利息

--當期佣金fare0 

with a as (select branch_no,client_id from hive.hive_s5_szdb_sz_asset_client where hive_p_date=20190531 and branch_no in (1,2))

with b as (select branch_no,client_id,fund_account,client_name,sum(fare0)value from hive.hive_s5_szdb_sz_his_his_deliver where hive_p_date between 20190501 and 20190531 and branch_no in(1,2) and asset_prop = 7 group by branch_no,client_id,fund_account,client_name order by sum(fare0)desc)

--當期發生金額occur_balance(預設為負值)

,c as (select branch_no,client_id,fund_account,max(client_name)client_name,sum(-occur_balance)value from hive.hive_s5_szdb_sz_his_his_fundjour where hive_p_date between 20190501 and 20190531 and branch_no in(1,2) and business_flag in(2701,2712,2715,2718,2721,2724,2732,2735,2738,2741,2744,2769,2776,2778,2779,2794,2795) and asset_prop = 7 group by branch_no,client_id,fund_account order by sum(-occur_balance) desc)

--當期末應收利費收入-上期末應收利費收入=融資應付利息 fin_pre_interest

,d as (select a.branch_no,a.client_id,a.client_name,a.fund_account,(value1-value2)value from

(select branch_no,client_id,fund_account,max(client_name)client_name,sum(fin_pre_interest) value1 from hive.hive_s5_szdb_sz_his_his_assetdebit where hive_p_date = 20190531 and branch_no in (1,2) group by branch_no,client_id,fund_account order by branch_no,client_id)a

left join(select branch_no,client_id,fund_account,max(client_name)client_name,sum(fin_pre_interest) value2 from hive.hive_s5_szdb_sz_his_his_assetdebit where hive_p_date = 20181231 and branch_no in (1,2) group by branch_no,client_id,fund_account order by branch_no,client_id)b on a.branch_no=b.branch_no and a.client_id=b.client_id order by branch_no,(value1-value2)desc)

--,c as (select branch_no,client_id,fund_account,max(client_name)client_name,sum(fin_pre_interest)value1 from hive.hive_s5_szdb_sz_his_his_assetdebit where hive_p_date between 20190501 and 20190531 and branch_no in (1,2) group by branch_no,client_id,fund_account order by branch_no,client_id,fund_account)

--客戶服務關係

,e as (select a.ryid,a.khid,a.gxlxbh,b.xm from (

select * from (select ryid,khid,case when gxlxbh=2 then '服務關係' else '@' end gxlxbh from hive.hive_s8__t_gxgl_gxmx_query where hive_p_date=20190507)where gxlxbh !='@')a 

join (select ryid,xm from hive.hive_s8__t_ehr_jjr_jbxx where hive_p_date=20190507)b on a.ryid=b.ryid)

/* 檢視中間狀態結果select a.branch_no,a.client_id,

nvl(nvl(b.client_name,c.client_name),d.client_name)client_name,

nvl(nvl(b.fund_account,c.fund_account),d.fund_account)fund_account,

(nvl(b.value,0)+nvl(c.value,0)+nvl(d.value,0))value1,xm,gxlxbh

from a left join b on a.branch_no = b.branch_no and a.client_id=b.client_id

left join c on a.branch_no=c.branch_no and a.client_id=c.client_id

left join d on a.branch_no=d.branch_no and a.client_id=d.client_id  

left join e on a.client_id=e.khid 

order by value1 desc;*/

--目前裡面都是信用賬戶的業務(後續若有變動請調整)

,f as (select a.branch_no,a.client_id,

nvl(nvl(b.client_name,c.client_name),d.client_name)client_name,

nvl(nvl(b.fund_account,c.fund_account),d.fund_account)fund_account,

(nvl(b.value,0)+nvl(c.value,0)+nvl(d.value,0))value1,xm,gxlxbh

from a left join b on a.branch_no = b.branch_no and a.client_id=b.client_id

left join c on a.branch_no=c.branch_no and a.client_id=c.client_id

left join d on a.branch_no=d.branch_no and a.client_id=d.client_id  

left join e on a.client_id=e.khid

order by value1 desc)

--去重,每個營業部輸出10條交易量前10的客戶資料

,g as (select *,row_number() over(partition by branch_no order by value1 desc)rid from f where value1>0)

select branch_no,client_id,client_name,fund_account,value1,rid,201904,xm,gxlxbh from g where rid<=10;

1)指令碼執行 python ***.py 日期

2)配置到大資料管理平台上之後,平台預設排程設定當天跑前一天的任務

1)將業務sql的結果資料在報表平台進行個性化(**,鍵值對,環裝圖,雷達圖...)展示,大屏展示

2)報表平台的相關操作

3)該報表的許可權配置,指定使用者可見,相應報表許可權開放給對應的需求部門

1)配置指令碼的的依賴檢視,注意:每乙個步驟都是任務,有相應的任務id

入庫->指標計算->統計指標->指標出庫到某報表平台後台資料庫***report中相關表

2)設定任務的日期執行引數,是否只是交易日跑資料

3)第二天如果執行有錯誤日誌則根據日誌定向查詢並分析具體原因

1)任務時間設定

在每天3:30調起任務,執行屏輸出執行日誌

1)大資料管理平台儀錶盤顯示每天所有接入,計算,統計,出庫等佇列的失敗任務

2)根據平台監控儀錶盤可檢視個人失敗任務,如此任務失敗則根據日誌定向查詢原因,否則就沒有啦,該任務執行的很good

金融業務知識

1 借貸的含義 借指資產的增加和負債的減少,貸則相反.借 表示 資產的增加 費用成本的增加 負債及所有者權益的減少 收益的轉銷 貸 表示 資產的減少 費用成本的轉銷 負債及所有者權益的增加,收益的增加 如公司用100元買了原材料,原材料就成了你的資產,增加了,就借 原材料100 指價值為100元的材...

金融業務架構經驗總結

等等 首先,有個概念 點融component架構 這張非常設計具體業務了,但金融部分仍非常值得參考,如一些component 對賬戶模型 對賬,也可以成為清算。一般為了保證系統的資料的準確性,尤其是金額資料。金額的走向如下 使用者銀行賬戶 支付 銀行 第三方支付平台 通知 內部系統。所以銀行會有流水...

近線資料服務平台,啟用金融業務創新

近年來,大資料概念早已在國內銀行業中大規模普及,越來越多的企業開始嘗試借助大資料技術的力量,來推動企業內部與外部的創新。但是,由於大資料與傳統技術的理念與技術差異,導致很多銀行和企業在實施大資料戰略的過程當中,遇到各種各樣的問題。因此,如何使用正確的方法和步驟運用大資料技術,是眾多金融服務機構在試水...