Dataflow ReadFromMongoDB失败,导致依赖错误



我已经编写了从mongodb收集数据并将其写入gcs桶的python代码。

我的数据流管道如下:

p 
| ReadFromMongoDB(uri='mongodb+srv://mongo_url',db='db_name',coll='column_name',bucket_auto=True) 
| "WriteMyFile" >> beam.io.WriteToText('gs://bucket_name/file123.json')         
p.run()

我的数据流管道失败,错误如下:

pymongo.errors.ConfigurationError: The "dnspython" module must be installed to use mongodb+srv:// URIs

根据本文档,pymongo(它是解决dnspython问题所需的依赖项)已经安装在数据流工作者中。还有什么需要做的?

这可能是因为数据流工作者只安装pymongo的基本要求。并且dnspython包含在pymongo的额外依赖项中,所以你必须使用pymongo[srv]作为依赖项来解析dnspython模块。你可以尝试在你的require .txt中包含pymongo[srv]==,然后提交带有--requirements_file标志的管道,它将使dataflow worker在启动容器时安装所需的python依赖项。

相关内容

  • 没有找到相关文章

最新更新