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

Post on 15-Jan-2015

562 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

BDTC 2013 Beijing China

TRANSCRIPT

LinkedIn 大数据应用 以及 Azkaban

1

提纲

• 列举主要的大数据应用

• Hadoop 平台和技术

• 作业流管理平台 Azkaban

2

我是谁

3

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

俞晨杰

世界最大的职业社交网络

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: engineering@linkedin.com

Kafka: kafka.apache.com

Azkaban: azkaban.github.io/azkaban2

Voldemort: project-voldemort.com

Samza: samza.incubator.apache.org

top related