Twitter程序员推动Hadoop开发进程

云计算 Hadoop
由于Twitter的数百万用户能够彼此间实时分享最新新闻、想法、意见,Twitter成为了目前最受欢迎的通信平台。所有这些活动都为Twitter带来了海量的元数据,而这些元数据对于Twitter来说是一笔宝贵财富。

为了分析海量元数据和信息,除了部署Cascading架构以简化MapReduce部署外,Twitter还选择了Hadoop。

由于Twitter的数百万用户能够彼此间实时分享***新闻、想法、意见,Twitter成为了目前***的通信平台。所有这些活动都为Twitter带来了海量的元数据,而这些元数据对于Twitter来说是一笔宝贵财富。为了分析这些包含了1.75亿多条日常推文和广告活动的拍字节级数据,Twitter的分析团队选择了一个大型的Hadoop商店。这些分析工作的目标是,提升企业为终端用户和广告商所提供服务的品质。

开发人员利用Hadoop将MapReduce工作定义为允许一个详细规定的任务,尤其是分析任务,能够在跨服务器环境下对大量数据进行分析。对于Twitter而言,他们所面临的一个重大挑战是,MapReduce编程需要一些除Java之外的特殊技能。开发人员要重新考虑他们的编码方式,而这正是Hadoop的优势所在。此外,Twitter的团队需要能够执行更为复杂的计算、机器学习和线性代数。对于普通的开发者来说,不经过必要的培训根本无法在MapReduce上进行编程。

驾驭Hadoop

对于任何开发人员来说,他们都希望复杂的统计功能能够变得更为易用,为此Twitter选择了Current的Cascading架构,因为该架构专门考虑到了创建大数据应用这一问题。

Cascading提供了一个针对Hadoop的更高级的抽象层,允许开发人员用不同的语言迅捷地创建可在Ruby、Scala等JVM上运行的复杂任务。这实际上打破了技术壁垒,因此让Twitter的开发人员能够更为广泛地使用Hadoop。

目前,Cascading已经能够让Twitter的开发人员用他们自己喜欢的编程语言创建复杂的数据处理工作流,并且能够很方便地升级以处理数以拍计的数据。Twitter已经与Concurrent签署了一份捐赠协议。这样一来,Twitter的开源贡献内容可以很方便地应用在Cascading的项目中。

深度使用

目前Twitter的三个团队正在结合编程语言使用Cascading。具体的分工是,营收团队使用的是Scala,发布者分析团队使用的是Clojure,分析团队使用的是Jython。营收团队可以通过分析广告内容和Twitter话题等因素帮助广告商决定哪些广告收效***,以帮助增加客户转化率。他们编写了针对Cascading的开源Scala应用程序接口Scalding,因此开发人员能够在Scala上编程并在Hadoop上运行它们。

发布者分析团队可以帮助网站管理员搞清楚Twitter用户是如何处理涉及品牌、网站和网络公众人物的信息。他们创建并公布了以Clojure为基础的语言——Cascalog的源代码。Cascalog能够将Cascading作为任务执行引擎。

分析团队的任务则是理解Twitter用户的活动。他们需要一种方法,以便更容易地对跟在其他用户之后的用户、或是跟在同类用户之后的用户进行精密而复杂地分析。他们为此创建了PyCascading,以控制来自Python的所有数据处理工作流。

在这些案例中,Cascading能够让开发人员避开编写、优化和执行MapReduce任务的烦扰。同时,它们还允许每个团队高效而迅捷地传输他们所需的复杂信息与功能。这些结果能够提供重要的洞察力,帮助Twitter持续提升自己的服务品质。

责任编辑:王程程 来源: InfoWorld
相关推荐

2013-05-31 09:05:47

2018-03-20 09:58:54

程序员质量开发

2009-04-30 09:02:53

AcerAndroid开发

2012-06-11 09:43:34

云计算

2019-01-02 07:36:28

微软 Windows 程序员

2018-01-19 22:43:13

2019-11-27 10:08:36

程序员技能开发者

2013-08-20 09:33:59

程序员

2012-03-06 09:22:46

程序员

2010-11-09 09:43:30

Ubuntu 11.0

2013-11-13 15:22:16

架构系统架构

2009-05-21 15:58:12

程序员工作经验职场

2011-05-10 09:29:30

代码重写

2011-05-13 14:34:02

程序员

2014-03-28 10:30:20

程序员码农

2020-07-16 10:19:43

程序员技能开发者

2022-03-16 11:10:19

程序员社区技术

2015-04-10 19:37:34

程序员

2017-11-14 21:30:15

2012-11-22 14:00:26

程序员
点赞
收藏

51CTO技术栈公众号