登录社区云,与社区用户共同成长
邀请您加入社区
*本文介绍了市面上常见实时数仓方案,并对不同方案的优缺点进行了介绍。在使用过程中我们需要根据自己的业务场景选择合适的架构。另外想说明的是实时数仓方案并不是“搬过来”,而是根据业务“演化来”的,具体设计的时候需要根据自身业务情况,找到最适合自己当下的实时数仓架构。**
在大数据场景应用中,业务不仅要计算数据结果,而且要保障时效性。目前,我司演化出两条链路。数据采集主要通过 APP 端上报的行为事件数据。服务端上报的日志数据会通过网关以及分发层,流式分发到大数据数仓体系内。MySQL 中存储的业务数据,通过 Datax 周期性的批式同步到数仓内。时效性高的数据会通过 Flink+Kafka 进行流式计算。时效性低的数据通过 Spark+HDFS 进行批计算最后出仓
基于对数据时间旅行的思考,引出了对目前三种数仓形态和两种数仓架构的思考。结合数据湖在 Flink 的应用和数据湖元数据类型的思考,探索了基于数据湖的 Flink SQL 流批一体的实践,在流批一体 SQL 表达一致、结果一致性、流批任务分离、混合调度依赖等进行了设计和探索。
业务层DWS(Data WareHouse Service):存储宽表数据,此层数据是针对某个业务领域的聚合数据,业务层的数据通常来源与此层,为什么叫宽表,主要是为了业务层的需要在这一层将业务相关的所有数据统一汇集起来进行存储,方便业务层获取。下面详细介绍这三层的设计。该层一般保持和ODS层一样的数据粒度,并且提供一定的数据质量保证。中间层DWM(Data WareHouse Middle):存储
日常工作中大多数时候都是在做数据开发,ETL 无处不在。虽然最近两年主要做的大数据开发,但感觉日常干的这些还是 ETL 那点事儿,区别只是技术组件全换了、数据量大了很多。前几年数仓势微,是因为传统的那些工具数据库等无法解决数据量进一步膨胀带来的计算问题,大数据火爆也是因为当时大数据开发门槛很高。可是最近两年随着大数据技术的成熟开发门槛越来越低了,数据仓库反而重新火起来了。ETL 的事情就跟 SQL
内核参数 vm.max_map_count 用于限制一个进程可以拥有的VMA(虚拟内存区域)的数量。注意: 安装7.X以后版本官方建议要安装集成JDK的包,所以无需再专门安装 JDK。通过使用插件可以实现对 ES 集群的状态监控, 数据访问, 管理配置等功能。使用默认系统配置,二进制安装时会提示下面错误,包安装会自动修改此配置。Elasticsearch 是基于java的应用,所以依赖JDK环境。
step3:通过游标来执行SQL语句:execute(String:SQL):基于某一业务事件行为下的度量,是业务定义中不可再拆分的指标,如支付总金额。:基于原子指标添加了维度:近7天的支付总金额等。只要知道指标的计算方式,基于维度分组计算指标。ODS层与DWD层的功能与区别是什么?step1: 先构建服务端的远程连接。:面向业务将业务划分主题域及主题。:明确每个业务主题对应的维度关系。星座模型:
Hudi集成Spark与hudi表的创建
传统数据仓库 postgresql greenplum 数仓分层 ods dw dm dim ads app dolphinScheduler datax magic-api
hudi的入门和使用