gpt4 book ai didi

python - 我可以在 pyspark mapPartitions 中使用多线程吗?

转载 作者:行者123 更新时间:2023-12-04 03:55:52 28 4
gpt4 key购买 nike

我可以在 pyspark mapPartitions 中使用多线程吗?

我正在运行一个 spark 作业,我必须在其中对每一行进行 API 调用。我们正在使用 rdd map 运行 python 函数来执行 API 调用。这些 API 调用需要 0.01 ~ 0.5 秒。

我们可以使用 rdd mapParitions 来运行 python 多线程函数吗?有什么影响或为什么我们不能使用线程?

SparkForApiCalls

注意:我们知道,Spark 可能不是这项工作的最佳工具。此外,由于 PyArrow 依赖性,我们不能使用 pandas udf 或矢量化。

图片来源:https://medium.com/ibm-data-science-experience/using-spark-as-a-parallel-processing-framework-for-accessing-rest-based-data-services-cd4c98526784 (与本题无关)

最佳答案

您应该能够,前提是目标系统旨在处理如此多的调用。

我建议使用基于非阻塞 IO 的 API 调用,它们的 CPU 效率应该更高。如果您必须为手头的任务分配更多的 CPU,那么您可以使用 spark.task.cpus 指示 spark 这样做。当心,这是 spark 应用程序级别的设置。如果您的数据处理管道很长,这实际上可能会使您的应用程序变慢。

关于python - 我可以在 pyspark mapPartitions 中使用多线程吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63924931/

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