Python 为数据流创建模板会引发错误AttributeError:';RuntimeValueProvider';对象没有属性';tableId';
我用ApacheBeam制作了一个管道,它使用DataFlow runner成功运行。我正在尝试创建模板,但在为apache_beam.io.gcp.bigquery.WriteToBigQuery转换器使用RuntimeValueProvider时,会引发以下错误: AttributeError:'RuntimeValueProvider'对象没有属性'tableId' 代码(摘录)如下所示:Python 为数据流创建模板会引发错误AttributeError:';RuntimeValueProvider';对象没有属性';tableId';,python,google-cloud-dataflow,apache-beam,Python,Google Cloud Dataflow,Apache Beam,我用ApacheBeam制作了一个管道,它使用DataFlow runner成功运行。我正在尝试创建模板,但在为apache_beam.io.gcp.bigquery.WriteToBigQuery转换器使用RuntimeValueProvider时,会引发以下错误: AttributeError:'RuntimeValueProvider'对象没有属性'tableId' 代码(摘录)如下所示: class ProcessOptions(PipelineOptions): @classm
class ProcessOptions(PipelineOptions):
@classmethod
def _add_argparse_args(cls, parser):
parser.add_value_provider_argument(
'--output_gcs',
dest='output_gcs',
default='gs://nlp-text-classification/results/stackoverflow_template',
type=str,
required=False,
help='Google Cloud Storage Path.')
parser.add_value_provider_argument(
'--output_bq_table',
dest='output_bq_table',
default='nlp-text-classification:stackoverflow.template_test',
type=str,
required=False,
help='BigQuery table.')
process_options = options.view_as(ProcessOptions)
with beam.Pipeline(options=options) as p:
[...]
"Write Posts to BigQuery" >> beam.io.WriteToBigQuery(table=process_options.output_bq_table,
schema=table_schema)
[...]
这是一个bug还是我做错了什么?当前数据流使用默认情况下不支持模板的运行程序本机源。我们有一个支持模板的梁源。要使用它,您必须使用以下标志启用一个实验
--experiment=use_beam_bq_sink
谢谢你的快速回复!如果我使用上述标志,一切正常。然而,我很好奇不同数据流源之间的差异(例如,runner native与Beam source)。你们有描述这方面的文档吗?本机接收器完全在数据流服务中实现。我们最近添加了一个Beam BigQuery接收器,该接收器预计将替换本机版本,但我们尚未完全迁移。hello@chamikara,我在创建模板时收到以下错误消息:。AttributeError:“RuntimeValueProvider”对象没有属性“datasetId,Beam.io.Write(Beam.io.BigQuerySink(..)我试过实验旗,但没有成功。你能帮忙吗