
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
大数据技术应用随着互联网的不断发展而被众多企业引入,下面我们就通过案例分析来简单了解一下,大数据实时数仓技术应用分析。
实时数仓分层架构为了避免面向需求响应的烟囱式构建,实时数仓也引入了类似于离线数仓的分层理念,主要是为了提高模型的复用率,同时也要考虑易用性、一致性以及计算成本。
当然实时数仓的分层架构在设计上并不会像离线数仓那么复杂,避免数据在流转过程中造成的不必要的延时响应;
ODS层:以Kafka为支撑,将所有需要实时处理的相关数据放到Kafka队列中来实现贴源数据层;
DWD层:实时计算订阅业务数据消息队列,然后通过数据清洗、多数据源join、流式数据与离线维度信息等的组合,将一些相同粒度的业务系统、维表中的维度属性全部关联到一起,增加数据易用性和复用性,得到终的实时明细数据;
DIM层:存放用于关联查询的维度信息,可以根据数据现状来选择存储介质,例如使用HBase或者Mysql
DWS层:轻度汇总层是为了便于面向AdHoc查询或者Olap分析构建的轻度汇总结果集合,适合数据维度、指标信息比较多的情况,为了方便根据自定义条件的快速筛选和指标聚合,推荐使用MPP类型数据库进行存储,此层可视场景情况决定是否构建;
APP层:面向实时数据场景需求构建的高度汇总层,可以根据不同的数据应用场景决定使用存储介质或者引擎;例如面向业务历史明细、BI支持等Olap分析场景,可以使用Druid、Greenplum,面向实时监控大屏、高并发汇总指标等需求,可以使用KV模式的HBase;数据量较小的时候,也可以使用Mysql来进行存储。
这里要注意下,其实APP层已经脱离了数仓,这里虽然作为了数仓的独立分层,但是实际APP层的数据已经分布存储在各种介质中用于使用。
基于Flink构建的实时数仓
随着业务场景的丰富,更多的实时需求不断涌现,在追求实时任务高吞吐低延迟的同时,对计算过程中间状态管理,灵活时间窗口支持,以及exactlyonce语义保障的诉求也越来越多。
为什么选择Flink实时计算平台?之所以选择用Flink替代原有Storm、SparkStreaming是基于以下原因考虑的,这也是实时数仓关注的核心问题:
高吞吐、低延时;
端到端的Exactly-once,保证了数据的准确性;
可容错的状态管理,实时数仓里面会进行很多的聚合计算,这些都需要对于状态进行访问和管理;
丰富的API,对Streaming/Table/SQL支持良好,支持UDF、流式join、时间窗口等高级用法;
完善的生态体系,实时数仓的构建会涉及多种存储,Flink在这方面的支持也比较完善。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。