赞
踩
(create by 王小雷)
Pipeline大数据架构,面向大数据仓库和大数据处理平台。是基于lambda的大数据架构的变种,增加了企业级服务,而并非只是大数据组件的对切,是一种更落地的方案。
如同骨架之间使用软骨连接起来一样,是一个完整可执行的架构设计。形成Pipeline架构。
Pipeline大数据架构由一个源、四个层(1+4)组成。
数据源是泛指需要大数据平台处理的所有数据源。大多时候是企业的业务系统产生的,这部分一般都是在大数据平台之外,而且关系型数据为主。
如MySQL、PostgreSQL中的业务数据,这部分是绝多大企业要处理的数据。
如MongoDB数据、日志数据等。
大数据处理是集群执行的。那么就需要大数据应用的任务调度、资源调度。
其中有很多大数据组件具有调度能力。称为基础调度层。
管控层在基础调度层之上,上文是数仓/数据处理层,下文是基础调度层。旨在让集群资源、任务调度机制更加定制、自动、智能化。
比如一个很大的数据处理,需要两种通道Hive ETL或者Spark SQL都可以处理,但是根据文件大小和结构,百分之三十用Hive ETL,70%用Spark SQL处理。
让处理时间和资源占用达到整体较优。
数据处理是多种通道的,如Spark处理、Flink处理,但是根据数据的特点和业务要求,需要通过不同策略调用不同处理方式来处理数据。
整个Pipeline任务执行时间、状态、结果都是需要监控服务来记录和报警的。
某个单元数据处理出现问题、未通过数据校验等需要这部分数据重新计算或者回溯原始数据。
集群管控信息收集后发送给大数据对应模块负责人。邮件为主,紧急可以短信。
为了充分利用资源和任务特性,有些数据处理任务需要并行调度。
Pipeline大数据架构核心层,数仓、数据湖泊、实时处理、批处理,也是lambda核心的变种,同样增了企业级可行性服务。
如字典服务,规则生成引擎等。
大数据系统外/内的待处理数据或者输出数据的大通道,一切数据的在大数据平台的进出由该模块负责。
如果细胞的细胞壁。也如同屠夫的钩子(按Q)。
大多时候是接入Log日志,如数据库的write-ahead logging (WAL)、系统埋点日志数据等等,无侵入接入数据。
通常是来对接Flume,用Topic等连接,并分发到计算引擎或者沉淀到存储系统,或者暂时缓存数据。
引擎直连服务可能对业务系统有害,因为是侵入式直连,数据的抽取或者写入会对业务系统有很大影响。
但是,敏捷开发,或者刚开始建立大数据平台,这种方式来的最快。不需要更多大数据链路,抽过来数据直接处理。这先落地再优化的方法,何乐而不为呢(减少加班吧)。
Flink
Spark SQL
业务系统有多个产品,多个库,它们根据业务不同,库、表、字段各不相同,需要大数据这边有一个字典服务,记录、汇总、跟踪业务系统数据字典。
为SQL自动拆箱/装箱引擎、数据层设计/规则生成引擎提供原料。
配合计算引擎,达到批量计算,如有1万张表需要抽取到大数据仓库,用Spark SQL实现,其中包括数据的特殊更改、全量、增量、流水、拉链等操作。
多业务多库多表同步到数仓或者处理时候,增量同步记录服务。
业务分析师将业务数据与大数据开发团队对接。
将业务数据规则设计为大数据数据,偏向业务对接、分析。
作为数据处理的工具,可做简单的ETL工作。
数仓存储根据层次、业务的不同可存储不同。原始数据,非规则化数据,超大文件可存储在HDFS上,冷数据做压缩处理。
HBase直接对接引擎计算后的数据沉淀。
Hive可存储不同层次的数据,但是更多时候是做数仓的管理工具,如外部数据HDFS、Hbase等外部表。
数据治理是在数据接入到大数据平台时做规范,如日期规范、脱敏、字段类型映射等等。
1HiveQL SparkSQL Impala
扫码关注
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。