Pandas UDF的PySpark加载包
问题描述
我曾尝试关注Databricks的博客帖子here,但不幸的是一直收到错误。我正在尝试安装PANDA、PYARROW、NumPY和h3库,然后能够访问我的PySpark集群上的这些库,但按照这些说明操作是不起作用的。
- Conda init--All(然后关闭并重新打开终端)
- conda create-y-n pyspark_conda_env-c conda-forge pyrow 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()
我可以做到这一点,但当我实际尝试运行 pandas UDF时,我收到错误:ModuleNotFoundError: No module named 'numpy'
如何解决此问题并使用 pandas UDF?
解决方案
我最终解决了这个问题,方法是为我的AWS EMR集群编写一个引导脚本,该脚本将在所有节点上安装我需要的所有包。我始终无法按照上面的说明正常工作。
有关引导脚本的文档可以在以下位置找到:https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-bootstrap.html
相关文章