LinkedIn 大数据应用
以及 Azkaban

1
提纲
• 列举主要的大数据应用

• Hadoop 平台和技术
• 作业流管理平台 Azkaban

2
我是谁
俞晨杰

• www.linkedin.com/in/chenjieyu
• www.linkedin.com/in/chenjieyu/zh-cn
• cyu@linkedin.com

3
世界最大的职业社交网络
Connect Talent Opportunity. At scale…

259M+
Members Worldwide

2 new

100M+

3M+

Members Per Second

Monthl...
LinkedIn,大数据,Hadoop

5
数据产品
• Terabytes in, Terabytes out
• 结果被应用于终端产品

InMaps

Browse maps
Skills/Endorsements
Recommendations
PYMK (People you may know)
• 最早开发于 2006
– 6-8 Million members

• 早期运行于 Oracle
• 基于用户共同点
– 教育经历, 工作… etc

• 基于用户共有联系人
– 三角闭...
基本算法:三角闭合的问题
Dave

Mary

?
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!
现在的 PYMK

Workflow runs for
24hrs
76 Hadoop Jobs
100 TB input
4 TB output

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 作业

•
•
•
•

耗时较长
维护成本高
代码利用率低
仅在必...
Apache Hive
• Hive 0.11
• 只用于即时查询
– 商业运行, 项目管理, 分析师

• 较难优化
• 易于使用
• 容易被有sql背景的人采纳

Disturbing Mascot
其他
• Hadoop 2.x
– 正在调研

• HCatalog
– 即将推出
– Hive/Pig with HCat

• Parquet
– 即将推出
– Pig/Hive/MR

•
•
•
•

Scala
Crunch
Gira...
作业流平台 -- Azkaban
大数据作业流
People You May Know (PYMK)

2013
2009
2010
2012
2011
任务执行灵活性
 支持任何 Hadoop 版本
 支持 Hadoop security
 proxy user
 hadoop token

 同时支持所有 pig/hive/etc. 版本
 支持非 Hadoop 平台
 Ter...
Jobtype Plugins
peanutbutter.job
type=pig
creamy.level=
4
chunky.level=
1
…
jelly.job
type=java
Jelly.type=gra
pe
sugar=HF...
升级/维护稳定性
DB

web server

executor
server 1

executor
server 2
易用性

• 哪些人用到 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 execu...
43
更多信息
LinkedIn Data: data.linkedin.com
LinkedIn Engineering:
engineering@linkedin.com
Kafka: kafka.apache.com
Azkaban: azka...
俞晨杰:Linked in大数据应用和azkaban
俞晨杰:Linked in大数据应用和azkaban
Upcoming SlideShare
Loading in...5
×

俞晨杰:Linked in大数据应用和azkaban

630

Published on

BDTC 2013 Beijing China

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
630
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

俞晨杰:Linked in大数据应用和azkaban

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

    Clipping is a handy way to collect important slides you want to go back to later.

×