关于大数据平台方向的一点理解

一、平台方向

1.概念:就是构建这样一套组件: 从日志数据如何高效、稳定、安全、被清洗、被脱敏后进入存储节点到映射为表结构,再到为分析人员和算法人员 提供高效、稳定、安全、便捷的查询服务 (平台人员去做的事)。(分析人员去做的事)使得分析人员只需要写一个sql然后通过BI工具进行结果展示 或者采用web开发,进行web展示。算法人员可以根据相关组件拿到大量离线数据和实时数据去做数据建模和预测。平台人员的需求方是分析人员和算法人员,而不是具体的项目需求提出者,与项目需求提出者对接的应该是数据分析人员和算法人员。平台人员写的sql应该是数据抽取、数据清洗相关的sql,而不是用于数据分析和统计相关的sql。

平台人员在组件上的关注点:多个组件的使用,多个组件如何组合,各个组件源码的研究以及在具体项目下对源码的调优,最后再加上平台的运维与升级。

2.平台人员需要跟进最新组件技术

结合当下最新的开源项目,最流行的组件应用,不断优化自己的平台结构。

3.日志数据分类:

(空调)机器日志数据:关系型日志数据+运行时机器自动产生的日志数据

关系型日志数据:机器的生产日志记录,如生产时间,安装时间,就是一些关于机器固定的描述性信息,数据量小,每个机器ID只有一条唯一的记录。

运行时日志数据:由机器启动后自动产生或出现故障时触发产生, 每个机器ID根据运行时的时间的不同而有多条记录。每条记录的列包含一些可变化的数字信息。

机器数据特点:机器参数可能很多,错误数据多,通过gps模块+sim卡网络传输 数据易丢失,延迟可能很高(因为延迟导致同一机器 不同表 ,运行数据不同步),清洗困难,适合离线处理,不适合实时处理(清洗),因为实时join会丢数据。

 

(电商)网络日志数据:

关系型日志数据:用户的个人详细信息,快递员个人信息,商家个人信息,每个用户ID只有一条唯一的记录。

运行时日志数据:由相关人员事件触发产生,用户的购买记录,退货记录,快递员送货记录,商家出货记录,交易记录。每个ID根据事件发生的时间的不同而有多条记录

网络日志数据特点:运行数据 种类多,延迟低,错误数据少,适合实时处理(ETL、清洗与细粒度分析统计)也适合离线处理(粗粒度统计, 如按年统计啥的)

 

4. 日志采集的几种方式

离线采集

关系型日志-->关系型数据库-->ETL工具(sqoop,kettle,spark)--->hive-->kylin-->tablalu、superset、web前端 (最后加上增量)

数据抽取、转换、清洗、脱敏、加载工作由ETL工具来做。

实时采集

 获取运行日志数据的接口-->kafka(json、string、schemal)-->flume-->hbase/hive

 获取运行日志数据的接口-->kafka(json、string、schemal)-->kylin(1.将json等消息映射为表结构  2.创建model和cube)

 获取运行日志数据的接口-->kafka(json、string、schemal)-->spark streaming、flink-->hbase/mysql/redis-->web前后端

 获取运行日志数据的接口-->kafka(json、string、schemal)-->spark streaming、flink-->es-->搜索查询

一般地数据抽取、转换、清洗、脱敏、加载工作由kafka的下一级来做。

特殊情况: 获取运行日志数据的接口-->kafka(json、string、schemal)-->kylin

可改为:获取运行日志数据的接口-->kafka(json、string、schemal)-->flume-->kafka-->kylin 在flume里面做,如果该工作逻辑比较复杂,也可将flume 改为spark streaming 的rdd 来做。

 

 

觉得还行的话,右上角点个赞哟。

 

你可能感兴趣的:(大数据)