Pandas UDF 的 PySpark 加载包
PySpark Load Packages for Pandas UDF's
我尝试关注 Databricks 博客 post here,但不幸的是不断出现错误。我正在尝试安装 pandas、pyarrow、numpy 和 h3 库,然后能够在我的 PySpark 集群上访问这些库,但是按照这些说明操作是行不通的。
- conda init --all(然后关闭并重新打开终端)
- conda create -y -n pyspark_conda_env -c conda-forge pyarrow pandas h3 numpy python=3.7.10 conda-pack
- conda 激活 pyspark_conda_env
- conda pack -f -o pyspark_conda_env.tar.gz
import os
from pyspark.sql import SparkSession
os.environ['PYSPARK_PYTHON'] = "./environment/bin/python"
spark = SparkSession.builder.config(
"spark.yarn.archive", # 'spark.yarn.dist.archives' in YARN.
"~/gzk/pyspark_conda_env.tar.gz#environment").getOrCreate()
我能够做到这一点,但是当我实际尝试 运行 a pandas udf 时,我收到错误消息:ModuleNotFoundError: No module named 'numpy'
如何解决这个问题并使用 pandas udf?
我最终通过为我的 AWS EMR 集群编写一个 bootstrap 脚本来解决这个问题,该脚本将在所有节点上安装我需要的所有包。我一直无法按照上述说明正常工作。
有关 bootstrap 脚本的文档可在此处找到:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html
我尝试关注 Databricks 博客 post here,但不幸的是不断出现错误。我正在尝试安装 pandas、pyarrow、numpy 和 h3 库,然后能够在我的 PySpark 集群上访问这些库,但是按照这些说明操作是行不通的。
- conda init --all(然后关闭并重新打开终端)
- conda create -y -n pyspark_conda_env -c conda-forge pyarrow pandas h3 numpy python=3.7.10 conda-pack
- conda 激活 pyspark_conda_env
- conda pack -f -o pyspark_conda_env.tar.gz
import os
from pyspark.sql import SparkSession
os.environ['PYSPARK_PYTHON'] = "./environment/bin/python"
spark = SparkSession.builder.config(
"spark.yarn.archive", # 'spark.yarn.dist.archives' in YARN.
"~/gzk/pyspark_conda_env.tar.gz#environment").getOrCreate()
我能够做到这一点,但是当我实际尝试 运行 a pandas udf 时,我收到错误消息:ModuleNotFoundError: No module named 'numpy'
如何解决这个问题并使用 pandas udf?
我最终通过为我的 AWS EMR 集群编写一个 bootstrap 脚本来解决这个问题,该脚本将在所有节点上安装我需要的所有包。我一直无法按照上述说明正常工作。
有关 bootstrap 脚本的文档可在此处找到:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html