在同一个pipelin中写入后从BigQuery读取

2024-05-16 02:25:45 发布

您现在位置:Python中文网/ 问答频道 /正文

想要我想要的

  • 写入BigQuery,然后从BigQuery读取相同的表,以了解是否有任何更新

其他类似问题:

  • 在这个question中,用户想要运行两个独立的管道,一个接一个,如果其中一个是流管道,我想这是不可能的,不是吗?

  • 在另一个question中,答案是在不同的管道中运行它,但是我有相同的问题。在他们的回答中,他们说那时候不存在其他的方式,现在有其他的方式吗?


关于我的管道的数据

  • 流媒体管道

  • 我要重写的代码:

    | 'Write to  BQ' >> WriteToBigQuery('table',SCHEMA)
    | 'Read from BQ' >> beam.io.Read(beam.io.BigQuerySource('table')))
    
  • 此代码的输出:

    Traceback (most recent call last):
          run()
         line 185, in run
          | 'Read from BQ' >> beam.io.Read(beam.io.BigQuerySource('table'))
        line 111, in __or__
          return self.pipeline.apply(ptransform, self)
        line 467, in apply
          label or transform.label)
        line 477, in apply
          return self.apply(transform, pvalueish)
        line 513, in apply
          pvalueish_result = self.runner.apply(transform, pvalueish)
        line 193, in apply
          return m(transform, input)
        line 199, in apply_PTransform
          return transform.expand(input)
        line 850, in expand
          assert isinstance(pbegin, pvalue.PBegin)
      AssertionError
    

哪种方法最好?


Tags: inioselfreadreturn管道linetable