gpt4 book ai didi

apache-spark - apache Spark 内部批量 API 调用?

转载 作者:行者123 更新时间:2023-12-03 07:07:40 24 4
gpt4 key购买 nike

我是 Apache Spark 的初学者,我有以下任务:

我正在从数据源读取记录,在 Spark 转换中,需要通过调用外部 Web 服务的数据来增强这些记录,然后才能进一步处理它们。

网络服务将在一定程度上接受并行调用,但只允许一次发送几百条记录。而且,它的速度相当慢,因此尽可能多地进行批处理和并行请求肯定会有所帮助。

有没有办法以合理的方式用 Spark 做到这一点?

我想到读取记录,将它们预处理到另一个数据源,然后一次读取“API-Queue”数据源500条记录(如果可能的话使用多个进程)并将记录写入下一个数据源,然后使用这个结果数据源进行最终的转换。

唯一需要遵守这些奇怪限制的地方是 API 调用中(这就是为什么我认为某些中间数据格式/数据源是合适的)。

您想向我指出任何想法或方向吗?

最佳答案

您可以使用mapPartition来做到这一点,请参阅这个问题:

Whats the Efficient way to call http request and read inputstream in spark MapTask

mapPartition 每个分区运行一次,因此您可以运行一次安装/拆卸代码。在 mapPartition 之前进行合并,以将分区数量减少到 Web 服务可以轻松支持的并发级别。

您可能希望首先对 RDD 进行排序,以避免针对给定键多次调用 Web 服务,对 mapPartition 进行适当编码以避免重复点击相同的键。

关于apache-spark - apache Spark 内部批量 API 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35169329/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com