python - 尝试将 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 容器中来临时解决了这个问题。
解决方案
推荐阅读
- mysql - 如何在 laravel 邮件模板中发送数组变量?
- python - Python中的幻像参数
- angular - Bootstrap 的模态没有在 Angular 应用程序中弹出?
- kubernetes - Gridgain Partitions loss with node scale down
- webpack - 如何避免JS文件中捆绑三个以上的webpack
- docker - Airflow:在不同的 Docker 容器中触发 Spark
- grpc - 我可以定义一个 gRPC 非阻塞客户端调用,其中没有状态从服务器发送回客户端吗?
- python - matplotlib 数值被乱序绘制
- javascript - 尝试使用 onclick 调用函数
- javascript - 回调队列和事件队列有什么区别?