項目介紹和資料采集
1.了解行業背景知識
個股、指數、闆塊,漲跌幅、振幅,換手率,成交占比
成交時間:9:30-11:30 13:00-15:00
2.介紹今日證券項目
1.項目介紹
基于flink實時流計算的,金融證券項目,實時大屏展示,預警子產品和離線子產品的處理。
2. UI産品原型
首頁
漲跌幅:
個股:
K線
3.業務功能
3.1業務子產品
1、資料采集
2、離線資料處理
3、實時資料處理
4、實時預警監控
5、離線預警
6、應用大屏展示
3.2業務文檔
Web項目:《大資料平台需求規格說明書-今日指數(前端應用).docx》
流處理項目:《今日指數資料模型.xlsx》
資料采集:《資料源接口規格說明書.docx》
3.3性能名額
l 批處理部分名額:
Ø 支援批處理叢集批量總寫入速度2GB/秒,批量讀取速度300MB/秒;
Ø 平台支援并發執行300個查詢和200個加載任務;
Ø 應用查詢時間對于資料庫的簡單資料讀取将不超過1~2秒,三個月統計計算查詢時間将不超過15秒,複雜查詢時間将不超過1分鐘;
Ø 複雜批處理任務,ETL的處理時間将不超過2個小時;
l 實時流處理名額:
Ø 平台支援接收峰值為每秒100萬條+的流資料;
Ø 平台能夠在峰值條件下,完成2秒内的實時預警,2秒内完成針對當日資料的查詢;
Ø 平台每日實時處理子產品能夠累積處理144億筆(按4小時交易日保持峰值流速計)訂單流資料;
Ø 平台支援至少50個并發通路/查詢當日資料。
l 應用響應名額:
Ø 數倉應用項目離線報表30秒内完成資料響應查詢;
Ø 實時大屏資料展示5秒内完成資料響應查詢;
應用平台支援并發執行500個使用者查詢請求;
類型 | 業務場景 | 業務場景特征 | 并發度 | 耗時 |
簡單 | 秒級行情億級資料查詢 | 功能點查詢 | 500 | 1s |
中等 | 業務名額資料加工 | 億級資料關聯查詢 | 50 | 10s |
預警規則關聯查詢 | ||||
複雜 | 大表關聯大表 | 複雜曆史資料查詢 | 20 | 30s |
實時報表 | 實時大屏報表生成 | 當日實時報表 | 50 | 2s |
曆史報表 | 曆史報表生成 | 跨年曆史報表生成 | 20 | 30s |
實時行情 | 名額資料實時展示 | 頁面實時查詢 | 50 | 1s |
3.4資料存儲規模
秒級行情(Hbase):存儲5日内秒級行情,資料量為2.88億條
分時行情(Druid):存儲半年内分時行情資料,資料量為8.64億條;
曆史資料(Hive數倉):以滬深市場2萬隻證券,存儲時間按1年統計:
秒級行情: 210億條以上
分時行情: 20億條以上
K線: 1500萬條以上
日資料采集總量統計 :
20000(隻)* 3600(秒)*4(小時)= 2.88(億)≈ 85(GB)
3.5.架構設計
3.5.1、技術選型
資料采集:flume、socket、ftp、sqoop
資料存儲:HDFS、HBase、MySQL、Kafka、Redis
資料計算:Hive SQL、Flink
任務排程:oozie
資料分析:Druid、Kylin
産品 | 版本 |
zookeeper | 3.4.5 |
kafka | 1.0.0 |
hbase | 1.2.0 |
hadoop | 2.6.0 |
flink | 1.7.0 |
flume | 1.6.0 |
mysql | 5.6 |
Redis | 3.0 |
3.5.2平台選擇
apache
cdh,hdp, => cdp
華為,星環
雲平台
3.5.3平台規劃
- 消息隊列日資料吞吐量:20000隻證券1條/秒60604 = 2.88億條
- 每條行情資料1kb左右,每天日志量: 2.88億kb/1024/1024 ≈ 275G
- 一年磁盤存儲量: 275G * 360天/1024 ≈ 97T
- 儲存3個副本需占用磁盤總量 :97T * 3 = 291T
- 預留30%的磁盤空間 = 291T/70% ≈ 416T
- 機器數量:
(1) 機器一方案:416T/(1.2T * 10)≈ 35台
(2) 機器二方案:416T/(1.2T * 15)≈ 23台
7.再加上中繼資料,主節點伺服器,還需再加上一定數量的機器
3.5.4、技術結構
1.原始資料采集采用的是flume收集文本資料和實時流資料,使用sqoop采用RDBMS中的交易資料
2.資料存儲根據不同的業務需求采用不同的存儲媒體,這裡我們采用的存儲資源包含:Hbase、Mysql、Redis、HDFS等
3.采用Hadoop Yarn統一資源管理
4.計算架構采用MapReduce、Spark SQL、Flink
5.資料處理包含批處理和實時資料處理,其中批處理數倉處理采用Hive,再根據主題建立模型和業務資料分層
6.資料應用采用Kylin和web應用做到監控預警;前端頁面對接web應用做到實時大屏展示