Google cloud dataflow 由于模板位置为空,气流/合成器中的数据流模板操作员失败

Google cloud dataflow 由于模板位置为空,气流/合成器中的数据流模板操作员失败,google-cloud-dataflow,airflow,google-cloud-composer,Google Cloud Dataflow,Airflow,Google Cloud Composer,我正在尝试使用DataflowTemplateOperator从气流DAG运行数据流作业 我的数据流作业基于从GoogleCloudDataPrep作业生成的模板,该作业读取GCS文件并将其加载到BigQuery表中。 此数据流作业从Dataprep启动时运行正常,但在气流中启动时失败,错误如下: java.lang.NullPointerException at java.util.regex.Matcher.getTextLength(Matcher.java:1283) at java.u

我正在尝试使用DataflowTemplateOperator从气流DAG运行数据流作业

我的数据流作业基于从GoogleCloudDataPrep作业生成的模板,该作业读取GCS文件并将其加载到BigQuery表中。 此数据流作业从Dataprep启动时运行正常,但在气流中启动时失败,错误如下:

java.lang.NullPointerException
at java.util.regex.Matcher.getTextLength(Matcher.java:1283)
at java.util.regex.Matcher.reset(Matcher.java:309)
at java.util.regex.Matcher.<init>(Matcher.java:229)
at java.util.regex.Pattern.matcher(Pattern.java:1093)
at org.apache.beam.sdk.io.FileSystems.parseScheme(FileSystems.java:443)
at org.apache.beam.sdk.io.FileSystems.matchNewResource(FileSystems.java:529)
at org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.resolveTempLocation(BigQueryHelpers.java:350)
at org.apache.beam.sdk.io.gcp.bigquery.BatchLoads$4.getTempFilePrefix(BatchLoads.java:390)
java.lang.NullPointerException
位于java.util.regex.Matcher.getTextLength(Matcher.java:1283)
位于java.util.regex.Matcher.reset(Matcher.java:309)
位于java.util.regex.Matcher.(Matcher.java:229)
位于java.util.regex.Pattern.matcher(Pattern.java:1093)
位于org.apache.beam.sdk.io.FileSystems.parseScheme(FileSystems.java:443)
位于org.apache.beam.sdk.io.FileSystems.matchNewResource(FileSystems.java:529)
位于org.apache.beam.sdk.io.gcp.bigquery.BigQueryHelpers.resolveTempLocation(BigQueryHelpers.java:350)
位于org.apache.beam.sdk.io.gcp.bigquery.BatchLoads$4.getTempFilePrefix(BatchLoads.java:390)
当我检查Dataflow控制台时,我有效地检测到org.apache.beam.sdk.options.PipelineOptions.tempLocation参数上的两个执行之间的差异:

  • 使用Dataprep执行时的“gs://…”

  • 使用DataflowTemplateOperator执行时为“-”

即使在我的dag配置中使用dataflow\u default\u选项,我也无法修改它以避免这个“-”(空?)值


您知道如何在气流中正确运行此数据流模板吗?

找到答案了吗?找到答案了吗?