本文目錄一覽:
如何用python 接入實時行情數據
有專門的實時行情API介面,例如微盛的實時行情API介面,通過類似這樣的介面就可以接入了。
數據產品工作指北(3)-實時數倉分層
按照業務實際,數倉區分為ODS、DW、SCD、RPT層,DIM維度層會貫穿所有層使用,為方便後台查詢會放到RPT層。
ODS層存放的是從業務源系統同步過來的數據,表名增加【ODS_業務簡寫_】前綴,表結構和數據結構保持與源系統一致。ODS表的分區策略是表數據量小於2萬以下的常用表建成維度表,表數據量大於2萬、或者非常用的表建成分區表。
DW存放的是經過初步加工的,標準的,帶有時間特徵的明細數據,表名為範圍【DW_業務簡寫_業務名稱_(RT/NRT)】,以後綴RT(實時)和NRT(非實時)作為實時數據和非實時數據(刷新頻率以日計)的區分。
DW表的欄位必須是規範的,命名和類型都要參照下面的命名規範,不能無腦照搬源表欄位。
DW數據的處理原則是去空(對空值補NULL_ID或0值)、標準化(轉換非標數據類型和非標準的表示方法)、預關聯(關聯出明細粒度上有用的維度和其他邏輯信息)。
DW表的擴展原則是支持欄位(column)上的擴展而不是行(row)上的擴展。意味著設計DW模型的時候就要確定業務的數據範圍,在列的設計上盡量採取最小可用的原則,保持模型的簡潔。
DW表的更新策略常用的有兩種:時間增量更新和主鍵更新。時間增量在非實時數倉使用得比較多,一般採用的是DELETE–INSERT–EXCEPTION(ROLLBACK)的方式運行,保持數據執行的冪等性。數據批量產生批量插入更新,邏輯簡單,但缺點是可能會涉及到大量未更新數據的處理。主鍵更新是檢測到某行數據發生變化之後,才執行的更新行為,涉及到的更新數據量會比較小。優點是數據更新迅速,處理量小,缺點是必須保持數據有唯一性主鍵,而且在有多源更新、數據物理刪除時處理邏輯會變得複雜。
DW表不能直接作為最終報表的查詢表。DW表的建設目的不是直接為了業務主題,奔著業務主體的目標去開發DW表,結果是只會開發出一張自己能用的中間表。
如無必要,勿增實體(奧卡姆剃刀原則)。DW表盡量通用,不要為了某些特殊的剔除邏輯又衍生出新的同質DW表,正確的做法是常用邏輯可以增加剔除標識欄位,不常用邏輯則直接寫在下游業務邏輯中剔除。要考慮在橫向列上擴展,而不是新增模型粗暴解決。
SCD表命名規範為【SCD_業務簡寫_業務名稱】
SCD緩慢變化維的概念旨在記錄數據的變化情況,我們採取的是拉鏈表的方式存儲。原則上可以針對數據的時刻變化進行記錄,但一般只是針對統計周期的最小粒度做記錄。
SCD常用的用途其實是針對維表的特定欄位發生變化進行記錄,只是我們為了達到減少變化數據的存儲量,在一些事實數據上也使用了這一技術。
SCD表的欄位最好不要出現NULL值,否則對比的時候可能會出錯。
RPT是面向報表層的,包括報表查詢用到的匯總表(某些查詢維度較少時可以用)、明細表。RPT表的命名規範是(RPT_業務簡寫_業務名稱_(DAY/MON/WEEK/QTR/YEAR),其後綴表示表中數據的最小主時間粒度。
請問大家,如何在數據倉庫中搭建一個python環境?比如現在使用亞馬遜雲的數據倉庫。
(1) 桌面右鍵→新建快捷方式→輸入 :
D:\Anaconda3\pythonw.exe D:\Anaconda3\Lib\idlelib\idle.pyw
下一步,。。。。命名為 Python IDLE,就能使用了。
(2) 設置字體為 Consolas (選做)
(3) 設置清屏快捷鍵 Ctrl+l (選做)
將 ClearWindow.py 複製粘貼到 D:\Anaconda3\Lib\idlelib 目錄下
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/291174.html