纽约时报研发实验室已经发布了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 )关注我们,并与我们的编辑和其他读者朋友交流。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论