阿里数据服务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 ...
随机推荐
- 1.1.1 A+B for Input-Output Practice (I)
A+B for Input-Output Practice (I) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K ...
- web测试小结
今年5月份开始接触web测试,经过大半年的测试及学习,简单总结下 测试过程: 1.需求理解 2.测试策略.方案.用例编写及评审 3.测试环境搭建 4.测试执行 5.bug提单.问题跟踪 6.回归测试 ...
- C语言中右大括号(})后是否加分(;)号问题
在C语言中定义结构体时,右大括号后是需要加分号的,在C++中使用class关键字定义类时,右大括号后也是需要加分号的,而在定义函数时,右大括号后是不需要加分号的. 对这个问题的解释就是右花括号}能代表 ...
- pycharm中tensorflow代码不能自动补全或import红线问题解决
正确安装并配置好pycharm+tensorflow环境之后,可能在pycharm中导入tensorflow会有以下问题: 1. " import tensorflow as tf &quo ...
- Ubuntu 16.04 LTS安装 cuda8.0
参考文献: http://blog.csdn.net/autocyz/article/details/52299889 http://blog.csdn.net/lixintong1992/artic ...
- 【linux基础】区块选择VisualBlock
前言 有时候使用linux需要选择某一块区域进行处理,比如对某些列的某些行,类似于Ultraedit的列模式,其实vim中就有相关的功能,此时可以使用vim的区块选择进行处理. 区块选择 1.在一般模 ...
- Unity 3D中 Ulua-UGUI简单的Demo——热更新的具体流程、使用说明
Ulua热更新具体流程.使用说明 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 -- 未完 1 -- ...
- 对象Date的方法
Date()对象是js提供给我们的日期对象,可以利用它获取关于时间的量. var myDate = new Date() //首先构造一个时间对象,然后用对象的方法获取时间: 1.获取年份: var ...
- MacOS 快捷键技巧
Ctrl+↑打开mission ctrl 可以在mission ctrl 里新建桌面 ,通过Ctrl+←→切换桌面 可以拖拽应用窗口到新的桌面 Ctrl+↓可以打开fonder的所有窗口 F11 全屏
- FTP文件服务器代码
文件操作的核心代码: /// <summary> /// FTP文件信息类(帮助进行文件的上传于下载) /// </summary> [Serializable()] publ ...