在 Apache Airflow 中加载 pickle 文件时出错

问题描述 投票:0回答:0

全部! 你能帮我在 python 中加载序列化文件以在 Airflow 中重新生成它吗:

我的代码^

path = r'/Models/APP/model.pkl'   
with open(path, 'rb') as f:
    g = pickle.load(f)

def my_fucn(gg):
    return gg.predict([[30, 40, 50, 60]])

default_args = {
    'owner': "timur",
    'retry_delay': datetime.timedelta(minutes=5),
    }
DAG_ID = "pythonoperator_test_v02"
dag_python = DAG(
    dag_id=DAG_ID,
    default_args=default_args,
    schedule_interval='@hourly',
    dagrun_timeout=datetime.timedelta(minutes=60),
    start_date=days_ago(0)
    )

empty_task = EmptyOperator(task_id="empty_task", retries=3, dag=dag_python)
python_task = PythonOperator(task_id="python_task", python_callable=functools.partial(my_fucn, gg=g), dag=dag_python)

错误:

  File "/home/timur/.local/lib/python3.8/site-packages/airflow/utils/json.py", line 153, in default
    CLASSNAME: o.__module__ + "." + o.__class__.__qualname__,
AttributeError: 'numpy.ndarray' object has no attribute '__module__'
python airflow pickle
© www.soinside.com 2019 - 2024. All rights reserved.