MacOS Catalina升级后部署Google数据流模板时,来自Protobuf的错误文件已存在于数据库中 [英] File already exists in database error from Protobuf when deploying Google Dataflow template after MacOS Catalina upgrade

查看:20
本文介绍了MacOS Catalina升级后部署Google数据流模板时,来自Protobuf的错误文件已存在于数据库中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个使用Google数据流的项目。几个月来,我已经成功地使用以下命令(以及类似的命令)来部署模板。

.venv/bin/python -m dataflow.registry_files.delimited_file --runner=DataflowRunner --region=us-central1 --project=myproject --staging_location=gs://mybucket-staging/staging/gr265 --template_location=gs://mybucket-code/templates/gr265 --temp_location=gs://mybucket-staging/temp/gr265 --no_use_public_ips --save_main_session --setup_file=dataflow/setup.py --projectId=myproject --datasetId=padl_staging --tableId=gr265 --configFile=gs://mybucket-code/registry/registry_files.yaml --fileType=gr265

此命令继续在我团队中的Windows 10和Debian计算机上工作。

自从我升级到Catalina(10.15.1,带有python3.7.5和apache-Beam==2.16.0)后,我收到以下错误:

[libprotobuf ERROR google/protobuf/descriptor_database.cc:58] File already exists in database: 
[libprotobuf FATAL google/protobuf/descriptor.cc:1370] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): 
libc++abi.dylib: terminating with uncaught exception of type google::protobuf::FatalException: CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size): 
Abort trap: 6

我完成了以下所有操作,并多次重新启动:

  1. 运行xcode-select --install

  2. 运行brew update-resetbrew updatebrew upgradebrew reinstall python全部无效(brew update-resetbrew doctor运行后除外)

  3. 运行brew uninstall protobufbrew install protobuf

  4. 在虚拟环境外运行pip3 uninstall protobuf

  5. 根据需求文件删除并重新创建我的虚拟环境。

  6. 我在堆栈溢出的其他位置找到的几个涉及/usr/local/include的伏都教没有帮助。

我想知道这是不是只是我的机器,不幸的是,我的团队中的另一台MacOS Catalina笔记本电脑能够复制它,但不是仍然运行MacOS Mojave的笔记本电脑。

推荐答案

根据Apache Beam Issue 8368此问题与pyrow版本相关,您必须使用pyrow 0.15.1光束进行测试,因为这是link中提到的在MacOS10.15上工作的光束。

请告诉我们它是如何工作的。

这篇关于MacOS Catalina升级后部署Google数据流模板时,来自Protobuf的错误文件已存在于数据库中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆