Python 3.x 将多个转换应用于PCollection::Error WriteToBigQuery

Python 3.x 将多个转换应用于PCollection::Error WriteToBigQuery,python-3.x,google-bigquery,apache-beam,Python 3.x,Google Bigquery,Apache Beam,我希望有人能帮助我,因为我现在已经走到了死胡同注释第二次写入允许第一次写入成功,所以这似乎是parse_负载和DirectRunner的问题 要修复此问题,您可以通过在Map函数中创建副本来避免在位修改图元: def parse_payloadelement,timestamp=beam.DoFn.timestamp参数,*args,**kwargs: e=元素。复制 payload=json.loadse.pop'payload' e、 updatepayload 返回e 使用Dataflow

我希望有人能帮助我,因为我现在已经走到了死胡同注释第二次写入允许第一次写入成功,所以这似乎是parse_负载和DirectRunner的问题

要修复此问题,您可以通过在Map函数中创建副本来避免在位修改图元:

def parse_payloadelement,timestamp=beam.DoFn.timestamp参数,*args,**kwargs: e=元素。复制 payload=json.loadse.pop'payload' e、 updatepayload 返回e 使用DataflowRunner,无需更改即可正常工作:

由于图形按预期构建,因此有两个独立的分支:


完整复制。

感谢您的建议。已解决,请参阅上面的更新2,正在工作。它可以工作,但我仍然没有得到3我认为每个转换都是不可变的,因此下游的任何更改都不会影响上游步骤4中的元素。似乎有多个工作人员同时尝试创建一个新表,如果它不存在,则会出现错误。。。