将Python Google Firestore客户端与PySpark一起使用

将Python Google Firestore客户端与PySpark一起使用,python,pyspark,google-cloud-firestore,cython,google-cloud-dataproc,Python,Pyspark,Google Cloud Firestore,Cython,Google Cloud Dataproc,我正在尝试使用PySpark执行Python脚本。然而,对这项工作至关重要的一个库是googlecloudfirestore。我需要访问Firestore数据库中的数据才能运行代码 问题是它依赖于GRPC的C实现,因此它无法压缩并与我所依赖的其他Python库一起传递到spark submit查询 我读过关于将库烘焙到Spark映像中,或者在节点启动时运行它的文章,但是在PySpark框架中很难找到如何做到这一点 如果我执行以下行(libs.zip具有包括Firestore在内的所有依赖项,jo

我正在尝试使用PySpark执行Python脚本。然而,对这项工作至关重要的一个库是
googlecloudfirestore
。我需要访问Firestore数据库中的数据才能运行代码

问题是它依赖于GRPC的C实现,因此它无法压缩并与我所依赖的其他Python库一起传递到
spark submit
查询

我读过关于将库烘焙到Spark映像中,或者在节点启动时运行它的文章,但是在PySpark框架中很难找到如何做到这一点

如果我执行以下行(
libs.zip
具有包括Firestore在内的所有依赖项,
jobs.zip
具有运行作业的所有Python代码,只要不依赖于访问Firestore,这些代码都可以正常工作):

我收到以下错误:

ImportError: cannot import name 'cygrpc' from 'grpc._cython'
因此,我的问题是如何将
googlecloudfirestore
库合并到PySpark框架中,以便从firestore访问数据

编辑:
libs.zip
包含
requirements.txt
中列出的所有下载的Python库,其中包括
googlecloudfirestore
grpc
grpcio
。举例说明:


libs.zip的具体内容是什么?它是否同时包含
谷歌云firestore
grpcio
的控制盘?@RichardBelleville我已经修改了这个问题,以帮助回答您的问题
libs.zip的具体内容是什么?它是否同时包含
谷歌云firestore
grpcio
的控制盘?@RichardBelleville我已经修改了这个问题以帮助回答您的问题
ImportError: cannot import name 'cygrpc' from 'grpc._cython'