我正在尝试运行多个大型查询SQL转换,并使用数据流将转换的输出写入到大型查询表中。
for query in list:
rows = p | 'read{}'.format(unique_id) >> beam.io.Read (beam.io.BigQuerySource (query=query, use_standard_sql=True))
rows | 'write{}'.format(unique_id) >> beam.io.WriteToBigQuery (table=output_table,
create_disposition=beam.io.BigQueryDisposition.CREATE_IF_NEEDED,
write_disposition=beam.io.BigQueryDisposition.WRITE_TRUNCATE)
理想地,它从查询列表中读取每个查询,并按照指定的方式执行读取和写入操作。我期望我的数据流一个接一个地在同一个管道中,但是我看到的是创建了多个同步运行的流。
如何确保它们在同一管道中?
如何确保每个查询都具有仅在成功运行后才能运行的依赖项?
在我的用例中,在每个SQL查询中创建的表将在后续查询中使用。