天天看点

启明星-开篇

    这一段时间一直忙着低头赶路,现在终于有机会停下来整理一下行囊了。

    这一路上, 经历过下里巴人, 也体验过阳春白雪, 我们一直在进步。

    之所以文章开篇称为启明星,不只是因为我们的数据平台称为启明星,也因为平台从无到有,从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

工作流监控

服务

统一化参数

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

完整的生态系统

摩萨德任务监控

sql,udf

drds

oceanbase,garuda

大数据量下olap框架: facebook的pinot, apache的kylin等

datax

odps插件

python脚本

jar包

支持多种外围存储导出, drds,rds,hbase, ots,mongodb, tair,ots等

完整的工作流配置,监控

服务组件化架构

分布式服务组件的使用

dubbo

hsf

configureserver

akka

配置中心diamond

zookeeper

多类型数据库支持的服务层设计(drds, rds, hbase, mongodb等)

vipserver

相关算法

一致性hash

针对多数据库的dataloader组件

基于requirejs的图形组件的形成

apache zeppelin可视化框架

pentaho

nodejs相关工具对可视化插件的帮助(gulp, grunt, less等)

实时终于实现

<a href="http://www.goingio.com/2016/01/07/%e5%ae%9e%e6%97%b6%e6%8a%80%e6%9c%af%e5%9c%a8%e5%90%af%e6%98%8e%e6%98%9f%e7%9a%84%e5%ba%94%e7%94%a8-%e6%a6%82%e8%a7%88/">实时架构</a>

日志的实时接入

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)

继续阅读