Mik*_*yes 3 python google-cloud-dataflow apache-beam
我编写了一个Dataflow作业,当我手动运行它时效果很好。这是相关的部分(为清楚起见,删除了一些验证代码):
parser.add_argument('--end_datetime',
dest='end_datetime')
known_args, pipeline_args = parser.parse_known_args(argv)
query = <redacted SQL String with a placeholder for a date>
query = query.replace('#ENDDATETIME#', known_args.end_datetime)
with beam.Pipeline(options=pipeline_options) as p:
rows = p | 'read query' >> beam.io.Read(beam.io.BigQuerySource(query=query, use_standard_sql=True))
Run Code Online (Sandbox Code Playgroud)
现在,我想创建一个模板并将其安排为以动态ENDDATETIME定期运行。据我了解,为了做到这一点,我需要根据此文档将add_argument更改为add_value_provider_argument:
https://cloud.google.com/dataflow/docs/templates/creating-templates
不幸的是,似乎ValueProvider值在我需要它们时不可用,它们仅在管道内部可用。(如果我在这里错了,请纠正我...)。所以我有点卡住了。
是否有人对如何在Dataflow模板中的查询中获取动态日期有任何建议?
Python当前仅支持FileBasedSource IO的ValueProvider选项。您可以通过在所使用的链接上单击Python选项卡来查看该内容:https : //cloud.google.com/dataflow/docs/templates/creating-templates
在“管道I / O和运行时参数”部分下。
| 归档时间: |
|
| 查看次数: |
836 次 |
| 最近记录: |