BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

纽约时报实验室引入了可视化流处理工具

| 作者 Michael Hausenblas 关注 1 他的粉丝 ,译者 王灵军 关注 0 他的粉丝 发布于 2014年4月22日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

纽约时报研发实验室已经发布了Streamtools,一个通用的处理数据流的图形化工具。

纽约时报实验室负责Streamtools项目的Mike Dewar阐述了该项目的动机:

在过去的20多年中,我们已经在处理列表数据的工具上投入了大量资金,从Excel、MySQL、MATLAB到Hadoop、R和Python+Numpy。在面临无穷无尽的数据时,这些工具都有种种不足并减弱了我们的创新潜力。为了克服这些不足,我们研发了Streamtools。

Streamtools提供了一个能够在浏览器中运行的GUI,用户可以用它来探究、分析、更改数据流,并从中学习。Streamtools所定义的操作词汇非常简单:数据通过连接在块之间流动。它们可以互相连接起来共同创建实时数据处理系统,既不需要编程,也不需要复杂的基础设施:

  • 一个块在它所接收的所有消息上执行一些操作,而每个块的类型决定了其可以执行的操作。
  • 每个块拥有零个或多个规则来定义自己的行为。
  • 每个块都拥有一个命名的路由集,这些路由可以接收数据、发送数据或者响应查询。
  • 块之间可以通过路由互联,就是使用连接。
  • 连接块组成的集合称之为模式,我们可以借助于JSON格式的描述文档从一个运行的Streamtools实例中导出或者导入其所有的模式。

Streamtools使用Go编写,后者是Google发明且日益流行的编程语言。Streamtools可在Apache 2许可证下通过GitHub获得。Dewar解释了选择Go的理由

我们之所以选择Go,是因为使用它编写的代码很贴近我们试图呈现给用户的习语。所以每个块都是自己单独的goroutine,而每个连接都是一对管道。这是个非常简单的抽象,我们希望藉此能让用户很好地理解自己所构建的系统。也就是说编写新块的工作是非常简单的,我们希望这能鼓励社区积极创建他们认为有用的块。同时,使用Go还可以写出安全、高性能的代码,这对于我们在纽约时报的日常工作来说很不错。

纽约时报实验室的Streamtools团队认为基于流的API将会变得更加普遍,同时流的使用改变了我们得出关于这个世界种种结论的方式。

查看原文链接:New York Times Lab Introduces Visual Stream Processing Tool


感谢孙镜涛对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

赞一个 by 张章 鸥翔鱼游

好文章。总是支持一下的

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT