这一段时间一直忙着低头赶路,现在终于有机会停下来整理一下行囊了。
这一路上, 经历过下里巴人, 也体验过阳春白雪, 我们一直在进步。
之所以文章开篇称为启明星,不只是因为我们的数据平台称为启明星,也因为平台从无到有,从1.0到2.0的这个过程,它像一颗启明星一样, 将我从之前那迷茫的、混沌的黑暗中带了出来,我明确了自己的发展方向, 在这技术的汪洋中找到了自己的那一叶孤岛,也看到了今后职业生涯的无数可能。
人生能遇到一个这样的项目,能开启自己的职业生涯,那无疑是幸运的。
启明星已经与我结下了很深厚的姻缘。
若干年后,抬头仰望那一望无际的星空,相信启明星任然会给予我无限的信心。
废话不多说, 步入正文。
启明星是我们的数据分析平台, 相信和大多数公司的数据分析平台一样, 它的主要作用就是收集后台服务日志,活动日志,客户端埋点日志,崩溃日志等, 进行解析, 清理后,统计传统的指标信息,评估活动效果,监控服务性能,客户端性能等。在数据分析的基础上,我们也开始了机器学习,数据挖掘的工作,这就是我们的另一个平台-数据秀.
每个公司的做法各有不同,但是基本的功能点都是一样的。从启明星1.0到启明星2.0, 我们摸索着走过来,我不敢说我们的做法是好的, 但我们的很多经验是值得分享出来的。我相信我们的经验是最全面的。 ?从服务端日志格式, 客户端埋点日志加密方式, 服务端nginx ?ip透传, 到日志收容,日志清洗,日志解密, 从数据仓库,数据立方 到OLAP 架构, 从hadoop的分布式计算,到storm的流计算,spark的迭代计算, 从简单的BI统计,到复杂的机器学习算法, 无不涉及。
接下来我们就来具体了解一下在整个平台构建过程中涉及到的方方面面
- 启明星1.0 (下里巴人)
- 日志记录
- 应用服务器和web服务器
- access_log
- web服务器ip透传
- 在线日志和离线日志
- 埋点日志加密策略和上传策略
- 日志服务器
- 日志收容
- flume-ng
- logstash, scribe, chukwa, kafka, flume对比
- 日志处理
- hadoop
- hdfs
- mapreduce
- yarn
- ETL
- 非法日志的过滤条件
- 正则表达式
- 数据仓库相关理论(数据立方体, 上钻,下卷,切面等)
- OLAP
- 轻量级的olap框架Mondrian
- mongo集群用作OLAP框架
- 分片集群概念
- mr
- aggregate框架
- Dump层(从数据仓库导出到olap层)
- dump-job
- dump-core
- dump-mapping
- 任务调度
- oozie,azkaban
- 工作流监控
- hadoop
- 服务
- 统一化参数
- SQL parser
- 负载均衡
- nginx
- 展现
- bootstrap
- highchart, nvd3, chart.js
- amd, cmd( require.js)
- 其他
- elasticsearch对OLAP的支持到底靠不靠谱
- 一直憧憬的实时
- 日志记录
- 启明星2.0 (阳春白雪)
- 日志记录
- 与1.0相同,接入了更多的日志,比如H5的日志,开放平台的日志,埋点日志除了app的之外,还有车机的,
- 日志收容
- TT的接入
- SLS与TT的异同
- 与传统日志收容框架相比
- 日志收容监控(基线, 同比, 环比等)
- 日志处理
- odps
- 表结构存储
- 支持sql
- 完整的生态系统
- 摩萨德任务监控
- ETL
- sql,udf
- mr
- OLAP
- DRDS
- Oceanbase,garuda
- 大数据量下OLAP框架: facebook的pinot, apache的kylin等
- DATAX
- odps插件
- python脚本
- jar包
- 其他
- 支持多种外围存储导出, drds,rds,hbase, ots,mongodb, tair,ots等
- 完整的工作流配置,监控
- odps
- 服务
- 服务组件化架构
- 分布式服务组件的使用
- dubbo
- hsf
- configureServer
- akka
- 配置中心diamond
- zookeeper
- 多类型数据库支持的服务层设计(DRDS, RDS, HBase, MongoDB等)
- 负载均衡
- VIPserver
- 相关算法
- 一致性hash
- 展现
- 针对多数据库的dataloader组件
- 基于requirejs的图形组件的形成
- apache zeppelin可视化框架
- Pentaho
- nodejs相关工具对可视化插件的帮助(gulp, grunt, less等)
- 实时终于实现
- 实时架构
- 日志的实时接入
- TT, flume等
- 日志的实时处理
- strom, spark-streaming,基于storm的galaxy(即将脱离底层计算框架 )
- 实时服务
- netty-socket
- 基于广播的socket服务
- 实时展现
- socketio
- websocket
- 实时下的渲染技术
- 场景
- 实时活跃用户展现
- 实时热力图
- 十一大屏
- app崩溃信息实时统计分析系统
- 基于实时框架的服务性能监控系统
- SLA性能指标:?平均响应时长, 长尾占比, 返回值非200占比, 近一周内平均响应时长
- 从启明星到数据秀
- 数据秀
- 图像相关
- 空间索引方式
- 网状索引: geohash等
- 树状索引: R树,B树,红黑树,四叉树等
- 相关工具
- mongodb对空间索引的支持
- postgis
- 空间索引方式
- 图像相关
- 大数据挖掘与机器学习
- 回归分类算法
- 逻辑回归
- 线性SVM
- 随机森林
- 梯度渐进决策树(回归)和地图渐进决策树(分类)
- 朴素贝叶斯
- K近邻
- 线性回归
- 预测类算法
- 模型预测
- 模型评估: 混淆矩阵和ROC曲线
- 回归模型评估
- 统计分析算法
- 基本统计信息
- 皮尔森系数
- 数据转换算法
- 随机采用
- 切分表
- 水平拼接表
- 垂直拼接表
- 深度学习算法
- CNN特征训练
- CNN特征抽取
- CNN类目预测
- 图像缩放
- 自然语言处理算法
- 分词
- 词频统计
- 计算词TF-IDF值
- 生成文档对应的主题
- word2vec
- 图算法
- KCore算法
- 单源最短路径SSSP
- PageRank算法
- 标签传播聚类LabelPropagationClustering
- 标签传播分类LabelPropagetionClassification
- 图聚类评价指标Modularity
- 节点聚类系数NodeDensity
- 边聚类系数EdgeDensity
- 最大联通子徒
- 计算三角形
- 聚类算法
- K均值聚类 KMeans
- 推荐算法
- 协同过滤
- 回归分类算法
- 成果
- 家和公司
- 活跃区域
- 导航轨迹
- 出行偏好
- 个人主页
- 人口迁徙
- 反爬虫
- 数据秀
- 日志记录
转自个人博客Goingio技术平台(http://www.goingio.com)