在过去的几个月里,Yelp一直在不断地向大家分享着他们的 数据管道 的情况(文章列表见页尾)。这是一套基于Python的工具,可以实时地将数据流向需要它们的服务,并随之加以必要的数据处理。这一系列的文章讲述了如何从MySQL中将消息复制出来、如何跟踪模式的变化及演进、并最终分享了如何把数据接入到Redshift和Salesforce等不同类型的目标存储。
幸好Yelp非常慷慨,他们不只是分享了自己的设计思路和经验,更是赶在圣诞节之前向大家献上了一份大礼,把主要模块 开源 出来了!
在读过了所有这些关于我们的数据管道的文章之后,可能你会觉得我们这些Yelp的人不过是像一个孩子在向大家炫耀他的新玩具一样,肯定会自己捂得严严的,不会和大家分享。但是和大多数有了新玩具又不会分享的孩子一样,我们愿意分享——所以我们最终决定要把我们的数据管道的主体部分开源出来,然后大家就可以开心地迎来新年假期了。
闲话少说,下面这些就是Yelp为大家的假期准备的圣诞礼物:
数据管道中不同组成部分的概览图。单个服务用方形表示,而共享包用圆角表示。
这些项目每个都有Docker化的服务,你可以很容易地把它们用到你的架构中。我们希望对于每个用Python构建实时流处理程序的开发者来说,它们都能有用。
有了之前的文章介绍,现在又有了开源的代码,相信有许多数据处理工程师的圣诞假期都会过得无比充实了。
Yelp的系列文章深度讲解了他们如何用“确保只有一次”的方式把MySQL数据库中的改动实时地以流的方式传输出去,他们如何自动跟踪表模式变化、如何处理和转换流,以及最终如何把这些数据存储到Redshift或Salesforce之类的数据仓库中去。
第一篇: 一天几十亿条消息:Yelp的实时数据管道 。( 英文 )
第二篇: Yelp的实时流技术之二:将MySQL表数据变更实时流到Kafka中 。( 英文 )
第三篇: Yelp的实时流技术之三:不止是模式存储服务的Schematizer 。( 英文 )
第四篇: Yelp的实时流技术之四:流处理器PaaStorm 。( 英文 )
第五篇: Yelp的实时流技术之五:数据管道之Salesforce Connector 。( 英文 )
第六篇: Yelp的实时流技术之六:近实时地将Kafka中的数据流入Redshift 。( 英文 )
感谢杜小芳对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。