醫(yī)藥商業(yè)大數(shù)據(jù)分析平臺--大數(shù)據(jù)倉庫
隨著近年來大數(shù)據(jù)技術(shù)的不斷發(fā)展和成熟,大數(shù)據(jù)對各行各業(yè)都產(chǎn)生了極大的推動作用,基于以上原因,我公司結(jié)合醫(yī)藥商業(yè)分析的業(yè)務(wù),推出了醫(yī)藥商業(yè)公司大數(shù)據(jù)分析平臺,該平臺是一款專為醫(yī)藥行業(yè)商業(yè)公司打造的企業(yè)級數(shù)據(jù)分析軟件,旨在幫助企業(yè)構(gòu)建數(shù)據(jù)倉庫,有效地組織和整合大量業(yè)務(wù)數(shù)據(jù),通過多種形式直觀的數(shù)據(jù)報表,為企業(yè)高層分析決策、戰(zhàn)略調(diào)整提供支持;同時,為企業(yè)一線員工提供更快、更好、更便捷的服務(wù),進(jìn)而為企業(yè)創(chuàng)造更多價值。
專業(yè)術(shù)語
1 | HDFS | Hadoop分布式文件存儲系統(tǒng)、HBASE、Hive等大數(shù)據(jù)存儲組件的基礎(chǔ) |
2 | HBASE | 大數(shù)據(jù)分布式列式存儲數(shù)據(jù)庫 |
3 | Hive | 大數(shù)據(jù)分布式數(shù)據(jù)倉庫 |
4 | YARN | Hadoop分布式資源調(diào)度與管理系統(tǒng),Spark、FLINK等大數(shù)據(jù)計算資源支持 |
5 | MapReduce | 分布式計算系統(tǒng) |
6 | Spark | 分布式計算系統(tǒng),支持批處理和實時處理 |
7 | FLINK | 分布式計算系統(tǒng),支持批處理和實時處理,實時處理性能比較好 |
8 | ZooKeeper | 分布式協(xié)調(diào)系統(tǒng),多個大數(shù)據(jù)組件依賴其實現(xiàn)高可用 |
9 | KYLIN | 多維OLAP分析系統(tǒng),依賴于Hive、HBASE、Spark等 |
10 | ElasticSearch | 分布式搜索引擎系統(tǒng) |
11 | Redis | 分布式遠(yuǎn)程字典服務(wù),高性能鍵值對數(shù)據(jù)內(nèi)存存儲 |
12 | Kafka | 分布式消息中間件 |
大數(shù)據(jù)處理的技術(shù)架構(gòu)
大數(shù)據(jù)處理通常分為批處理和實時處理兩種,批處理一般依托數(shù)據(jù)倉儲和OLAP分析技術(shù),定時周期性將數(shù)據(jù)進(jìn)行匯總和處理(一般是一天處理一次,適用于實時性要求不太高的大批量數(shù)據(jù)的處理);實時處理一般依托于數(shù)據(jù)實時采集工具、Kafka以及實時計算框架對數(shù)據(jù)進(jìn)行實時的分析和處理(一般適用于實時性要求較高的業(yè)務(wù),同時對系統(tǒng)CPU、內(nèi)存、網(wǎng)絡(luò)等資源有著較高的要求);同時,通過Presto組件集成Elastic Search或Hive可以完成高效的MPP數(shù)據(jù)倉庫功能;
大數(shù)據(jù)批處理設(shè)計方案
1、通過OGG等數(shù)據(jù)實時采集組件將ERP系統(tǒng)業(yè)務(wù)數(shù)據(jù)發(fā)送到消息中間件Kafka中;
2、編寫大數(shù)據(jù)Spark程序?qū)?span style="font-size: 16px; font-family: Calibri;">Kafka中的數(shù)據(jù)存儲到大數(shù)據(jù)列式數(shù)據(jù)庫HBASE中;
3、編寫大數(shù)據(jù)Spark代碼將HBASE中的數(shù)據(jù)清洗、轉(zhuǎn)換、加載到數(shù)據(jù)倉儲Hive;
4、將數(shù)據(jù)倉儲Hive中的原始數(shù)據(jù)按業(yè)務(wù)需求進(jìn)行數(shù)據(jù)建模;
5、將Hive中建模好的數(shù)據(jù)加載到大數(shù)據(jù)OLAP組件KYLIN中,按照要求進(jìn)行KYLIN的Model和Cube設(shè)計;
6、觸發(fā)KYLIN Cube的構(gòu)建,通過Spark、FLINK或者MapReduce計算引擎,完成多維立方體Cube的分層構(gòu)建(即預(yù)計算),并將預(yù)計算的結(jié)果存儲到HBASE中;
7、WEB報表項目通過JDBC方式使用SQL訪問KYLIN服務(wù)進(jìn)行業(yè)務(wù)數(shù)據(jù)的聚合查詢,最終通過ECharts或帆軟報表渲染成易用的餅圖、柱狀圖、折線圖等等各種報表。
大數(shù)據(jù)實時處理設(shè)計方案
1、通過OGG等數(shù)據(jù)實時采集組件將ERP系統(tǒng)業(yè)務(wù)數(shù)據(jù)發(fā)送到消息中間件Kafka中;
2、編寫大數(shù)據(jù)Spark程序?qū)?span style="font-size: 16px; font-family: Calibri;">Kafka中的數(shù)據(jù)存儲到大數(shù)據(jù)列式數(shù)據(jù)庫HBASE中;
3、通過FLINK代碼將實時性要求較高的業(yè)務(wù)(實時大屏展示的當(dāng)天訂單銷售總額、銷售毛利總額、銷售訂單數(shù)量、采購總額等等信息)進(jìn)行實時計算,并將計算結(jié)果按約定存儲到REDIS中;
4、將查詢實時性要求比較高的業(yè)務(wù)表詳情數(shù)據(jù)(如銷售訂單、銷售結(jié)算單等),通過FLINK程序?qū)崟r存儲到Elastic Search中;
5、使用KYLIN將Kafka中的JSON消息按照業(yè)務(wù)將Model和Cube設(shè)計好,通過KYLIN Real-Time直接將Kafka中的消息實時按照Cube進(jìn)行OLAP預(yù)計算,KYLIN Real-Time可以通過JDBC接口提供實時的查詢;
6、WEB報表系統(tǒng)通過REDIS、Elastic Search-Presto和KYLIN JDBC完成相關(guān)業(yè)務(wù)的查詢;
大數(shù)據(jù)MPP數(shù)倉設(shè)計方案
1、通過OGG等數(shù)據(jù)實時采集組件將ERP系統(tǒng)業(yè)務(wù)數(shù)據(jù)發(fā)送到消息中間件Kafka中;
2、編寫大數(shù)據(jù)FLINK程序?qū)?span style="font-size: 16px; font-family: Calibri;">Kafka中的數(shù)據(jù)存儲到大數(shù)據(jù)Elastic Search中;
3、編寫大數(shù)據(jù)Spark程序?qū)?span style="font-size: 16px; font-family: Calibri;">Kafka中的數(shù)據(jù)存儲到大數(shù)據(jù)列式數(shù)據(jù)庫HBASE中;
4、將HBASE中的數(shù)據(jù)通過配置映射到Hive表中(Hive表保持原來Oracle的表結(jié)構(gòu))
5、通過Presto組件配置Elastic Search或者Hive相關(guān)的數(shù)據(jù),實現(xiàn)高性能MPP的多表關(guān)聯(lián)、統(tǒng)計匯總等相關(guān)查詢功能;
6、WEB報表系統(tǒng)通過Presto JDBC完成相關(guān)業(yè)務(wù)的查詢和展示工作;
系統(tǒng)特性及相關(guān)大數(shù)據(jù)技術(shù)組件按功能分類