首页 > 解决方案 > 尝试将 python 库从包含的 zip 导入路径时,cfg 文件未解析

问题描述

我使用 Spark 2.4.0 + K8s 集群部署方式 + python 3.5。

我将所有库打包到 zip 存档中并将其发送到 AWS S3,然后附加到上下文

sc = pyspark.SparkContext(appName=args.job_name, environment=environment)

sc.addPyFile('s3a://.../libs.zip')
sc.addPyFile('s3a://.../code.zip')

导入工作,我可以导入任何包。但是如果我导入包,它会从包相关的文件夹中读取一些文件 - 我得到错误:

NotADirectoryError: [Errno 20] Not a directory: '/var/data/spark-ce45d34b-8d2f-4fd0-b3d6-d53ecede8ef1/spark-6ce9d14f-3d90-4c3c-ba2d-9dd6ddf32457/userFiles-08e6e9ec-03fa-447d-930f-bf1bd520f55a/libs.zip/airflow/config_templates/default_airflow.cfg'

我该如何解决?

PS。使用sc.addFile('s3a:/..')和解压缩不起作用,因为 spark 在集群模式下运行。

更新:

我已经通过将我需要的所有软件包安装到我用于 spark 工作人员的 docker 容器中来临时解决了这个问题。

标签: pythonapache-sparkkubernetespyspark

解决方案


推荐阅读