Upload
hdhappy001
View
562
Download
4
Embed Size (px)
DESCRIPTION
BDTC 2013 Beijing China
Citation preview
LinkedIn 大数据应用 以及 Azkaban
1
提纲
• 列举主要的大数据应用
• Hadoop 平台和技术
• 作业流管理平台 Azkaban
2
世界最大的职业社交网络
Members Worldwide
2 new Members Per Second
100M+ Monthly Unique Visitors
259M+ 3M+ Company Pages
Connect Talent Opportunity. At scale…
4
LinkedIn,大数据,Hadoop
5
数据产品
• Terabytes in, Terabytes out
• 结果被应用于终端产品
InMaps
Recommendations
Skills/Endorsements
Browse maps
PYMK (People you may know)
• 最早开发于 2006
– 6-8 Million members
• 早期运行于 Oracle
• 基于用户共同点
– 教育经历, 工作… etc
• 基于用户共有联系人
– 三角闭合
基本算法:三角闭合的问题
? Mary
Dave
Steve
PYMK 的问题
• 2006年 8百万用户 -- 2009年 5千万用户
• Oracle 无法支持
• 程序经常失败
• 前端数据陈旧
– 6 weeks – 6 months!
PYMK 的出路:Hadoop
• Apache Hadoop 0.20 (2009)
• 20 node cluster (repurposed)
• PYMK in 3 days!
Workflow runs for 24hrs 76 Hadoop Jobs 100 TB input 4 TB output
现在的 PYMK
11
12
推荐系统/相关性引擎
• 无所不在的推荐需要
– 工作,人才,新闻,公司,联系人,。。。
• 平台化思路
– 开发平台化方案
– 用Hadoop
• 直接影响数据产品使用
– 50%+
13
A/B 试验平台
• 所有新特性经过 A/B 试验
• 通用化的试验平台
• 用 Hadoop 计算 A/B 试验用户群
• 用 Hadoop 验证效果
14
Hadoop 上的其他大数据应用
• 报告平台
• 商业运行/分析
15
Hadoop 上的相关技术
16
Apache Pig
• Apache Pig 0.11
• 用于大部分数据产品/数据分析
• 易用,强大,高效
• 便于优化
• DataFu
Java (Mapreduce)
• 用于性能苛刻的Jobs
– 性能苛刻
– 特殊 CPU/Memory 需要
– mapreduce world 中的非mapreduce 作业
• 耗时较长
• 维护成本高
• 代码利用率低
• 仅在必要时使用
18
Apache Hive
• Hive 0.11
• 只用于即时查询
– 商业运行, 项目管理, 分析师
• 较难优化
• 易于使用
• 容易被有sql背景的人采纳 Disturbing Mascot
其他
• Hadoop 2.x
– 正在调研
• HCatalog
– 即将推出
– Hive/Pig with HCat
• Parquet
– 即将推出
– Pig/Hive/MR
• Scala • Crunch • Giraph • Tez
– Pig on Tez
• Impala, Shark/Spark, Tajo – 小规模试用
• Samza – 使用推广
作业流平台 -- Azkaban
大数据作业流
People You May Know (PYMK)
2009 2010 2011 2012 2013
任务执行灵活性
支持任何 Hadoop 版本
支持 Hadoop security
proxy user
hadoop token
同时支持所有 pig/hive/etc. 版本
支持非 Hadoop 平台
Teradata, mysql, voldemort
Jobtype Plugins
type=pig creamy.level=4 chunky.level=1 …
peanutbutter.job
type=java Jelly.type=grape sugar=HFCS …
jelly.job
JobTypeManager
JobTypes • pig • pig12 • hive • java • python • …
./jobtypes/pig
pig.jar
…
./jobtypes/pig12
pig12.jar
…
./jobtypes/java
…
./jobtypes/hive
hive-core.jar
JobTypes Plugin Directory
升级/维护稳定性
web server executor server 1
executor server 2
DB
易用性
• 哪些人用到 Azkaban ?
• 工程师/运行维护人员
• 数据科学家
• 分析师
• 项目经理
修改程序参数
修改运行选项
失败处理
并行运行选项
定时运行
设置 SLA
历史记录
Azkaban - HDFS Browser
Azkaban – Reportal
Azkaban – Reportal
Azkaban – Reportal
Azkaban 其他特性
• 作业流管理,调度
• Web 界面
• 简单易用
• 用户验证/授权
• 项目隔离
Azkaban @ LinkedIn
• 用于所有Hadoop cluster
• ~1000 用户
• 1500 项目
• 10,000 作业流
• 2500 flow executing per day
• 6500 jobs executing per day
43
更多信息
LinkedIn Data: data.linkedin.com
LinkedIn Engineering: [email protected]
Kafka: kafka.apache.com
Azkaban: azkaban.github.io/azkaban2
Voldemort: project-voldemort.com
Samza: samza.incubator.apache.org