Apache Beam是正确的特征预处理工具吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Beam是正确的特征预处理工具吗?相关的知识,希望对你有一定的参考价值。

所以这是一个有点奇怪的问题,因为它与如何使用这个工具无关,而更多的是关于为什么要使用它。

我正在部署一个模型,并考虑使用 "Apache Beam"。Apache-beam 来使用其python API运行特征处理任务。文档相当大,也很复杂,但我看了大部分,甚至建立了一个小的工作管道,但仍然不清楚这是否是适合我的工具。

以下是我需要的一个例子。

Input data structure:

ID | Timestamp | category

output needed:

category | category count for last 30 minutes (feature example)

这个过程需要每5分钟运行一次并更新计数。

===> 我不明白的是,apache是否可以每5分钟运行一次这个管道,读取任何一个新生成的输入数据,并更新上一次运行时的计数。如果可以,谁能给我指点一下?

谢谢你

答案

当你手动运行Beam流水线时,预计只会启动一次。那么它可以是一个Bounded(Batch)或者Unbounded(Streaming)管道。在第一种情况下,它将在处理完所有约束量的数据后停止,在第二种情况下,它将持续运行并期待新数据的到来(直到手动停止)。

通常情况下,管道的类型取决于你的数据源(光束IO连接器). 例如,如果你从文件中读取,那么,默认情况下,它被假定为有界源(有限的文件数量),但如果你预计会有更多的新文件到达,并希望在同一管道中读取它们,它也可以是无界源。

另外,你可以用自动化工具定期运行你的批处理流水线,如 Apache气流 或只是unix crontab)。所以,这一切都取决于你的需求和类型或数据源。如果你能分享更多关于你的数据管道的细节--你的数据源和环境的类型,输入和输出结果的例子,你的输入数据的更新频率等等,我可能会给出更具体的建议。

以上是关于Apache Beam是正确的特征预处理工具吗?的主要内容,如果未能解决你的问题,请参考以下文章

Apache Beam -- 简介

Apache Beam,批处理和流式处理的融合!

Apache Beam 处理文件

如何运行 Apache Beam 集成测试?

Apache Beam 处理“路由”的方式是啥

什么是 Apache Beam? [关闭]