首页 > 解决方案 > 在 Pandas UDF 中找不到用于多节点的模块

问题描述

我正在尝试在 jupyter notebook 中运行 pandas udf 函数,我想在其中导入我在这个 pandas udf 中编写的一些模块。代码可以在本地模式下运行。但是当我尝试在多节点中运行它时。它表明在其他执行程序中找不到该模型。

没有 pandas udf,我可以在多节点上导入模块。所以,我认为这是与 pandas udf 相关的一些问题。

以前有人有类似的问题吗?有什么解决办法吗?

以下是我在 Jupyter 笔记本中的代码:

from pyspark.sql.functions import pandas_udf, PandasUDFType
from pyspark.sql.types import *
schema_return=spark_df.schema
@pandas_udf(schema_return, PandasUDFType.GROUPED_MAP)
def scoring_pudf(snap_df):
    import numpy as np
    import pandas as pd
    import re
    import pyarrow.parquet as pq
    from datetime import datetime, date
    from dateutil.relativedelta import relativedelta
    import time

    import config as conf
    from econ import EconData


    #initialize & read in configration file
    config = conf.DevConfig()

    #initialize & read in econ data
    econ = EconData(config)

    return econ

错误:

ModuleNotFoundError: No module named 'config'

标签: pythonpandasapache-sparkpysparkuser-defined-functions

解决方案


推荐阅读