首页 > 解决方案 > 无法在 Pyspark 中导入 Python 依赖项

问题描述

我正在按照databricks的这条指令在分布式环境中运行使用一些库,但是在使用jupyternotebook时仍然出现错误conda(在独立模式下)。

示例代码:

import pandas as pd
from pyspark.sql.functions import pandas_udf

@pandas_udf('double')
def pandas_plus_one(v: pd.Series) -> pd.Series:
    return v + 1

spark.range(10).select(pandas_plus_one("id")).show()

我使用这些命令来创建conda环境:

conda create -y -n pyspark_conda_env -c conda-forge pyarrow pandas conda-pack
conda activate pyspark_conda_env
conda pack -f -o pyspark_conda_env.tar.gz

我得到了这个错误:

ImportError: PyArrow >= 0.15.1 must be installed; however, it was not found.

所以我卸载pyarrow并安装它pip install pyarrow以获得最新版本。

但我仍然得到那个错误。

我什至在笔记本中使用此代码,但它也不起作用:

import os
from pyspark.sql import SparkSession

os.environ['PYSPARK_PYTHON'] = "./environment/bin/python"
spark = SparkSession.builder.config(
    "spark.archives",  # 'spark.yarn.dist.archives' in YARN.
    "pyspark_conda_env.tar.gz#environment").getOrCreate()

我该如何解决这个问题?

标签: pythonpysparkjupyter-notebookconda

解决方案


推荐阅读