微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Apache Flink 和将工作分配给任务

如何解决Apache Flink 和将工作分配给任务

我有一个与 apache flink 相关的问题。目前我正在研究 apache flink 作为我们的工作框架。

本质上,我们有一个内容摄取工作,我们从提要中摄取一些内容,该提要本质上是分页的。 Feed内容可以是 xml 或 json 格式,每页可以有 1000 条记录。

我需要的是将这 1000 条记录分成任务并并行处理。

我知道 flink 有一些方法可以并行化其作业,但可以将其划分为任务槽。 我想知道我们如何做到这一点,或者任何在线资源将不胜感激。

我看到我们可以使用 setParallelism() 进行设置,但我很难找到设置处理的方法

所以只是给你一个想法..这是一个示例供稿

<mainTag>
    <subTag>
    ......
    </subTag>
    <subTag>
    ......
    </subTag>
    <subTag>
    ....
    </subTag>
</mainTag>

现在在上面的 xml 示例中,我想分割并并行处理它。

这类似于我们在 java 中使用 ExecutorService 进行多线程处理。

在纯 java 中,我会执行 executorService.submit(subtagTask) 来处理 subTag。

我想知道在 Flink 中是否有办法做到这一点。这将帮助我不再为处理线程而头疼以及随之而来的头疼。

感谢任何帮助。

问候。

解决方法

好消息:Flink 专为并行运行而构建,您无需担心线程或其他事情。在大多数情况下,当涉及到横向扩展(= 使用多台机器)时,您会使用 Flink。但是,向上扩展(每台机器更多线程)是一个有效的用例。请注意,可能还有其他更简单的选择。

坏消息:没有对 XML 的开箱即用支持。添加并不难,但这可能是您正在寻找的。直接支持 JSON,但也不支持完整文件 afaik。主要原因是Flink原本是一个流处理器,目前还在向统一/批处理过渡中。

所以我想,就您而言,现在最好评估替代方案(例如 Spark)。在这方面,Flink 仍然需要在接下来的几个版本中迎头赶上。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。