我想在现有的pyspark代码中添加一些python导入。我的意图是,因为必须有一些文件正在用于加载执行程序并在其上执行作业。
我的问题是,如果我将这些导入放入传递给mapPartition()
的函数中,那么对于每个作业,每个分区都会执行这些导入,这会影响性能,因为导入有点繁重(耗时2.5秒),这意味着在运行功能代码之前,对于分区上的每个作业,导入时都浪费了宝贵的2.5秒。
我的想法是:pyspark的文件(worker.py或daemon.py)中必须有一些函数,我可以在其中放置这些导入,以便它们只能执行一次。我已经检查过代码,但无法找到解决问题的方法。我是在正确的轨道上还是我错过了什么?