阿里数据服务P6~P7晋升要点
这是我在2015年高德负责P6晋升评审为团队成员准备的要点,整理下。
1. 数据仓库难点
1.1 分布式OLAP设计与选型
- 传统BI 友盟,Talking Data 启明星
- keylin
- phoniex
- ocean base
- garuda
- drds
- impala
- drill
框架优劣,实现方式,性能对比
1.2 分布式OLAP优势
- 支持ad-hoc
- 上卷,下钻,切片,切块
- 数据端开发迅速
1.3 分布式OLAP 难点
- 海量数据聚合
- 要求RT可用
- 阿里生态系统限制
- 时间紧迫
1.4 分布式OLAP实现
- 分库分表 DRDS
- 数据仓库
- 基本行为
- 离线点击
- 崩溃行为
- 主题域— 数据立方体(Cube)
- 用户分析
- 活跃度
- 渠道专题
1.5 目前缺陷
在没索引的维度较慢
阿里生态圈的喜与优
外网工具丰富
web工作台
运维控制台
可靠工作流
闭门造车,轮子过时
需要多部门协助
1.6 整体工作流
采集 — 收容 — 计算 — 导出 — 存储 — 服务 — 前端
2. 服务演化
2.1 单一应用
所有功能部署一起,ORM 是核心
2.2 垂直应用
拆分应用, MVC 是核心
2.3 分布式服务框架
核心业务抽取复用, RPC
2.4 流动计算框架
提高机器利用率, SOA
3. 挖掘架构
3.1 数据层
3.2 算法层
3.2.1 特征工程:
清洗 :
脏数据 (乱码,机型非法取值)
空缺值(日志记录不规范,经常出现某些平台字段为空)
噪声 (取值非法)
分箱
离群挖掘
回归
集成:
冗余属性 (重复字段,同一字段命名不同)
数值冲突检测( 单位不同,字段长度不同)
变换:
归一化
投影 (PCA)
归约
数据压缩 (空间索引,小波变换,PCA,回归,概率分布模型,粗糙集,采样)
维度规约 特征提取
离散化 值区间
3.2.2 分类:
SVM
随机森林
GBDT
神经网络
3.3.3 聚类
基于划分
Kmean
KMeoid
EM
基于密度
DBScan
Optics
基于层次
自顶向下
自底向上
基于栅格
String
WaveCluster
3.3.4 回归
线性回归
逻辑回归
3.3.5 关联
FPGrowth
Aprioi
3.3.6 空间算法
元胞自动机
空间尺度变化模型
空间自回归(SAR)
层次贝叶斯
3.3 策略/模型层
3.4 评估层
3.4.1 算法评测
规则扫描
数据规则
业务规则
白盒测试
MR 单元测试
MR 集成测试
MR 性能测试
Job 监控
Job 性能
Job 配置
Job 报警
算法收益对比
可视化对比工具
收益统计工具
AB Test
3.5 服务层
高效,可靠,分布式的数据服务
日志监控
日志回流
3.6 挖掘工作流
- 收集数据
收集数据一般是补充外部数据,包括采用爬虫和接口,获取,补充目前数据不足部分。Python scrapy,requests是很好的工具。 - 准备数据
主要包括数据清洗,预处理,错值纠正,缺失值填补。连续值离散化,去掉异常值,以及数据归一化的过程。同时需要根据准备采用的挖掘工具准备恰当的数据格式。 - 分析数据
通过初步统计、分析以及可视化,或者是探索性数据分析工具,得到初步的数据概况。分析数据的分布,质量,可靠程度,实际作用域,以确定下一步的算法选择。 R的ggplot,python的matplotlib,js 的leaflet,d3都是很好的可视化工具。
4. 训练算法
整个工作流最核心的一步,根据现有数据选择算法,生成训练模型。主要是算法选择和参数调整
算法的选择,需要对算法性能和精度以及编码实现难度进行衡量和取舍。 (甚至算法工具箱对数据集的限制情况都是算法选择考虑的内容) 实际工程上,不考虑算法复杂度超过O(N^2)的算法。Java的Weka和Python的Scipy是很好的数据挖掘分析工具。
参数调整。这是一门神奇的技能,只能在实际过程中体会。
5. 测试算法
这一步主要是针对监督算法(分类,回归),为了防止模型的Overfit,需要测试算法模型的覆盖能力和性能。方法包括Holdout,还有random subsampling.
非监督算法(聚类),采用更加具体的指标,包括熵,纯度,精度,召回等。
6 使用,解释,修正算法
数据挖掘不是一个静态的过程,需要不断对模型重新评估,衡量,修正。算法模型的生命周期也是一个值得探讨的话题。
阿里数据服务P6~P7晋升要点的更多相关文章
- 【阿里云产品公测】结构化数据服务OTS之JavaSDK初体验
[阿里云产品公测]结构化数据服务OTS之JavaSDK初体验 作者:阿里云用户蓝色之鹰 一.OTS简单介绍 OTS 是构建在阿里云飞天分布式系统之上的NoSQL数据库服务,提供海量结构化数据的存储和实 ...
- 阿里dubbo服务注册原理解析
阿里分布式服务框架 dubbo现在已成为了外面很多中小型甚至一些大型互联网公司作为服务治理的一个首选或者考虑方案,相信大家在日常工作中或多或少都已经用过或者接触过dubbo了.但是我搜了 ...
- Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理
Java生鲜电商平台-SpringCloud微服务架构中核心要点和实现原理 说明:Java生鲜电商平台中,我们将进一步理解微服务架构的核心要点和实现原理,为读者的实践提供微服务的设计模式,以期让微服务 ...
- Dataphin数据服务系列之--API 配置、管理和消费
研发小哥哥还在为公司里大量 API 只上不下,不可查不可用, 想找的 API 找不到而苦恼吗?业务方小姐姐还在为 API 开发时间长,业务相应不及时而抱怨吐槽吗? 铛铛铛,Dataphin 数据服务 ...
- MaxCompute,基于Serverless的高可用大数据服务
摘要:2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴高级技术专家吴永明为大家分享了 ...
- 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践
1. 概述 数据服务(https://ds-cn-shanghai.data.aliyun.com) 是DataWorks产品家族的一员,提供了快速将数据表生成API的能力,通过可视化的向导,一分钟“ ...
- [源码阅读] 阿里SOFA服务注册中心MetaServer(1)
[源码阅读] 阿里SOFA服务注册中心MetaServer(1) 目录 [源码阅读] 阿里SOFA服务注册中心MetaServer(1) 0x00 摘要 0x01 服务注册中心 1.1 服务注册中心简 ...
- [源码阅读] 阿里SOFA服务注册中心MetaServer(2)
[源码阅读] 阿里SOFA服务注册中心MetaServer(2) 目录 [源码阅读] 阿里SOFA服务注册中心MetaServer(2) 0x00 摘要 0x01 MetaServer 注册 1.1 ...
- [源码阅读] 阿里SOFA服务注册中心MetaServer(3)
[源码阅读] 阿里SOFA服务注册中心MetaServer(3) 目录 [源码阅读] 阿里SOFA服务注册中心MetaServer(3) 0x00 摘要 0x01 概念 1.1 分布式一致性 1.2 ...
随机推荐
- 简单shell实现局域网IP扫描
#!/bin/bash network=$1 time=$(date +%H%M%S) for i in $(seq $2 $3) do ping -c 1 -w 2 $network.$i > ...
- Object-C 基础笔记4---ARC内存管理
内存管理的原则 1,对你自己拥有的对象负责.你只能释放自己拥有的对象.(谁污染谁治理). 2,凡是通过retain,alloc,copy等于段获得了所有权对象,都必须在你不再使用的时候释放.调用rel ...
- 【opencv基础】linux系统opencv以及opencv_contrib的安装与使用
前言 本文主要介绍如何在linux系统安装使用opencv. 具体步骤可参考opencv官网here. 步骤 编译源码之前需要安装相关依赖库: 1.下载源码: 2.解压源码: 3.配置cmake: 注 ...
- Springboot整合pagehelper分页
一.在pom中添加依赖 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId&g ...
- poj2253 最短路
题意:青蛙跳石头,给出石头的坐标,然后要确定一条路径,使路径上的最大跨度最小,其实也是一道最短路问题,只要将更新条件从总距离最短改为最大跨度最小就行,即从某点到当前点路径上的最大跨度如果小于当前点原本 ...
- Springboot集成mybatis(mysql),mail,mongodb,cassandra,scheduler,redis,kafka,shiro,websocket
https://blog.csdn.net/a123demi/article/details/78234023 : Springboot集成mybatis(mysql),mail,mongodb,c ...
- 看懂Class文件的装载流程
Class文件的加载过程 ClassLoader的工作模式 类的热加载 1 Class文件的装载流程 只有被java虚拟机装载的Class类型才能在程序中使用(注意装载和加载的区别) 1.1 类装载的 ...
- 顶级域名和子级域名之间的cookie共享和相互修改、删除
举例: js 设置 cookie: domain=cag.com 和 domain=.cag.com 是一样的,在浏览器cookie中,Domain都显示为 .cag.com. 就是说:以下2个语句是 ...
- django 使用Ajax方式POST JSON数据包
示例1: js: function SaveAction(){ //点击 保存按键 var senddata = {"type":"A", "host ...
- jQuery .tmpl(), .template()学习资料小结
昨晚无意中发现一个有趣的jQuery插件.tmpl(),其文档在这里.官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options ...