大数据的核心技术
除了我们熟知的分布式架构,高级的就是SQL引擎,和流数据处理
分布式架构包括分布式存储,分布式计算
分布式存储,架构设计模式:中心和无中心两种架构模式
中心有一开始就设计中心者是谁的,例如HDFS,Hbase
无中心:zookeeper,kudu 比较典型。选举的这种涉及选举算法:Paxos&Raft
关于服务中心和无中心,启动前设置与启动后选举
了解Flink、spark计算与数据库函数关系
这就引出了,数据计算与SQL引擎——打通任督二脉的桥梁工程
分布式查询引擎,SQL解析,数据聚合。
impala
phoenix就是这类的SQL引擎
FLINK实时计算,自定义函数UDF操作——SQL函数
流数据结构化 ,实际上已经建表了。然后对这个表,做函数操作,如聚合函数,统
计分析:分组,排序等等类SQL操作
整体架构图
大数据应用实践
数据服务
数仓OLAP,快速查询
BI数据服务
定时调度,邮件服务,报表自动缓存任务
报表引擎的进化
关于数仓模型
理想与现实。传统建数据仓库,对各业务专题建立数仓模型。主要是:方便查询和提高查询响应速度。
建立模型方法:模型分层。
ODS/DWS
DWS 做聚合汇总统计
ADS 做主题数据展示。
现实困境:业务数据模型与数仓数据模型表数据复杂对应关系
数据汇总层DWS复杂任务管理
业务单一,主题不突出
目前方案:
impala、kudu的OLAP,解决大部分取数
kylin 固定报表服务,简单业务。海量数据,简单SQL在kylin建模,预处理
报表引擎 固定报表服务,复杂业务。对复杂SQL数据任务查询,落存Hbase
数据监控
流数据窗口SQL分析,Flink CEP规则匹配
数据监控模型
维度指标
我们目前做的有,最小交易量、笔数,成功率,混合指标组合(最小和成功率)。
还有准备做的是,增加方差。指标阀值根据历史数据取值(如获取最近一周或30天的中位数/平均值做阀值)。不同阈值,分级报警。
实时ETL库
大数据风控
离线数据处理
实时数据处理
大数据组件
一期:Hadoop,hive,Flink,cassandera
二期:Hbase,phoenix,kylin,spark,impala,kudu,Hue,streamsets