在数据流中,我需要将开始日期和结束日期作为运行时参数传递,并查询该日期范围的bigquery并将输出写入日间文件夹。
当我们使用ValueProvider时,getStartDate()。get()方法抛出java.lang.RuntimeException:不从运行时上下文调用。如果我在getStartDate()时对某些值进行硬编码.get()。isAccessible()为false,则生成模板,但运行时参数不会反映在作业中。它在模板创建期间始终以硬编码值运行。
有什么建议吗?
答案 0 :(得分:4)
BigQueryIO
获取ValueProvider
个查询。最简单的方法是将查询文本作为运行时值传递。
NestedValueProvider
可以帮助您从其他值提供程序创建查询字符串,唉,NestedValueProvider
一次只支持一个输入ValueProvider
。因此,您可以将开始日期和结束日期连接成单个值,然后进行拆分。