实时数仓分层建设通常包括以下几个主要步骤:
确定业务需求和数据来源:首先需要明确业务需求和数据来源,以确定需要采集哪些数据、如何处理数据、以及如何存储和分析数据。可以与业务部门和数据源方面的人员进行沟通,以确定具体的需求和数据来源。
数据采集和处理:采集和处理数据是实时数仓建设的重要步骤。可以使用 Flink、Spark 等流式计算框架来处理实时数据流,并将处理后的数据存储到相应的数据存储系统中。需要根据实际需求和数据来源来选择合适的数据采集和处理方式。
数据存储和管理:在实时数仓中,需要将数据存储到不同层级的数据存储系统中,通常包括原始数据层、清洗转化层、模型计算层和应用展示层等。可以使用 Hadoop、HBase、MySQL、ES 等数据存储系统来存储和管理数据。
数据分析和应用:最后需要对实时数仓中的数据进行分析和应用,以获得有价值的业务洞察和决策支持。可以使用 BI 工具、数据挖掘等技术来进行数据分析和应用,以及可视化展示和报表输出等。
关于实时数仓分层建设的问题,可以向您的群聊成员提问,寻求他们的意见和建议。或者,您也可以尝试搜索相关的在线资源,如技术论坛、博客文章、阿里云官方文档等,来获取更详细的指导和最佳实践。
另外,实时数仓的分层建设可以根据具体的业务需求和数据场景进行设计。常见的分层包括数据引入层(ODS)、明细数据层(DWD)、汇总数据层(DWS)、应用数据层(ADS)和公共维度层(DIM)。每个层级都有不同的功能和处理逻辑,可以根据实际情况进行规划和设计。
建设实时数仓的目的,主要是增加数据计算的复用性。每次新增加统计需求时,不至于从原始数据进行计算,而是从半成品继续加工而成。
对数据架构各个分层的数据管理,需要建设相应的数据库。阿里云采用一个项目空间管理,分库按照表名前缀进行逻辑划分。
表名字要求采用小写, 作业名同表名一致, 周期后缀:标识增全量、调度周期。
分区名统一命名为dp,格式统一要求(ods_db前缀的表分区名pt,由于阿里产品原因)
字段类型只使用以下几种: int 数量、次数、人数等整数字段
bigint 数量、次数、人数等整数字段
double 金额、比率等小数字段
string 订单编号、SKU编号、描述类信息、日期等字符字段
不使用比int小的数字类型 不使用unsigned
阿里云技术产品及选型
v 数据采集传输:EMSKafka、DataHub、LogHub、DTS
v 数据存储:RDS、AnalyticDB、Hologres
v 数据计算:FlinkSql、JavaFlink
v 数据可视化:DataV
普通实时计算与实时数仓比较 普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到结果。
实时数仓基于一定的数据仓库理念,对数据处理流程进行规划、分层,目的是提高数据的复用性。分层是一种非常有效的数据治理方式,所以在实时数仓如何进行管理的问题上,首先考虑的也是分层的处理逻辑。
实时数仓和离线数仓的分层非常类似,比如 数据源层,明细层,汇总层,乃至应用层,他们命名的模式可能都是一样的。但仔细比较不难发现,两者有很多区别。
数仓分层需要结合业务场景、数据场景、系统场景进行综合考虑设计,您可以根据实际业务需求,规划您数据模型的分层。 根据阿里云数仓分层是可以这样分的:
数据引入层 ODS(Operational Data Store) ODS层用于接收并处理需要存储至数据仓库系统的原始数据,其数据表的结构与原始数据所在的数据系统中的表结构一致,是数据仓库的数据准备区。
ODS层的数据表,命名必须以ods开头,并且生命周期为366天。
明细数据层 DWD(Data Warehouse Detail) DWD层通过企业的业务活动事件构建数据模型。
汇总数据层 DWS(Data Warehouse Summary) DWS层通过分析的主题对象构建数据模型。
应用数据层 ADS(Application Data Service) ADS层用于存放数据产品个性化的统计指标数据,输出各种报表。
公共维度层 DIM(Dimension) DIM层使用维度构建数据模型。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。