当在本地运行我的Beam管道时,它完全按预期工作,但是当尝试在DataflowRunner上运行它时,我突然得到下面的错误。老实说,我甚至不知道从哪里开始评估它,因为DataflowRunner似乎是一个黑匣子。
Jan 14, 2019 11:26:51 AM org.apache.beam.runners.dataflow.DataflowRunner fromOptions
INFO: PipelineOptions.filesToStage was not specified. Defaulting to files from the classpath: will stage 165
我的代码在一次运行中启动多个非常相似的数据流作业。一般来说,这很好,但在这种情况下,六个作业启动了OK,第七个工作失败了。是什么引起的?
java.lang.RuntimeException: Failed to create a workflow job: The operation was cancelled.
at org.apache.beam.runners.dataflow.DataflowRunner.run(DataflowRunner.java:869)
at org.apache.beam.runners.dataflow.DataflowRunner.run(Datafl
在运行数据流作业时,我得到了以下错误。我正在尝试将我现有的beam版本更新为2.11.0,但是在运行时,我会出现以下错误。
org.apache.beam.model.pipeline.v1.RunnerApi$StandardPTransforms$Primitives类没有实现请求的接口com.google.protobuf.ProtocolMessageEnum在org.apache.beam.runners.core.construction.BeamUrns.getUrn(BeamUrns.java:27) at org.apache.beam.runners.core.const
我正在尝试创建一个google数据流模板,但我似乎无法找到一种不产生以下异常的方法:
WARNING: Size estimation of the source failed: RuntimeValueProvider{propertyName=inputFile, default=null}
java.lang.IllegalStateException: Value only available at runtime, but accessed from a non-runtime context: RuntimeValueProvider{propertyName=inputFile,
我猜这更像是一个普通的Java/Eclipse问题,但我不是Java人,这不是为我点击。最后的堆栈跟踪。
上面是抛出错误的文件,它非常简单--我们是否使用URLClassLoader?作为一个Java的人,我不知道如何切换到URLClassLoader,谷歌这让我觉得这不是我需要关心的事情。
"Unable to use ClassLoader to detect classpath elements"
让我觉得我添加了一个类路径不正确,而且Eclipse正在做一些奇怪的事情。
Google /apache文档中没有提到任何关于URLClassLoader的内容,现在我甚至无
Can send the java code but currently, it's not necessary.
我有一个问题,因为当我运行作业时(DirectRunner -使用Google实例),它工作正常,因为它将信息保存到本地文件并继续运行.
当尝试使用(DataflowRunner)和我收到的错误时,会出现问题:
java.nio.file.NoSuchFileExtension: XXXX.csv
.....
.....
XXXX.csv could not be delete.
它可以被删除,因为它甚至没有创建。
问题--在运行DataflowRunner??时如何在本
使用spring引导war /swagger执行数据流管道时出错:
Caused by: java.lang.IllegalArgumentException: Unable to convert url (jar:file:/home/java/app.war!/WEB-INF/classes!/) to file.
at org.apache.beam.runners.core.construction.PipelineResources.detectClassPathResourcesToStage(PipelineResources.java:55)
at org.apache.bea
为了提供我的问题的最小示例,我尝试实现一个简单的Beam作业,它将String作为一个侧输入,并将它应用到从Cloud中的csv文件中读取的PCollection中。然后将结果输出到云存储中的.txt文件中。
到目前为止,我已经尝试过:尝试使用PipelineResult.waitUntilFinish (如in (p.run().waitUntilFinish()) ),更改两个p.run()命令的位置,并尽可能地简化,只使用字符串作为我的侧输入,结果总是一样。在Stack和Google上的搜索使我找到了实现错误消息的梁回购上的PR。
SideInputTest.java:
public c
DirectRunner可以在没有问题的情况下完成工作,但由于无法删除,然后无法重命名临时文件,数据流始终失败。
这是完全相同的代码,完全相同的桶,我只更改了运行程序:
public static DataflowPipelineOptions setOptions() {
List<String> experiments = new ArrayList<String>(); // experiments must be a MUTABLE list
experiments.add("use_runner_v2");
DataflowPip
在Eclipse IDE中尝试使用Dataflow运行WordCount示例管道时,我得到以下错误:
Exception in thread "main" java.lang.RuntimeException: Failed to construct instance from factory method DataflowRunner#fromOptions(interface org.apache.beam.sdk.options.PipelineOptions)
at org.apache.beam.sdk.util.InstanceBuilder.buildFr
我有一个管道,可以在本地执行,不会出现任何错误。我过去经常在本地运行的管道中得到这个错误。
'Clients have non-trivial state that is local and unpickleable.'
PicklingError: Pickling client objects is explicitly not supported.
我相信我修正了这个问题,将其降级为apache=2.3.0,然后在本地运行得很好。
现在我使用的是DataflowRunner,在requirements.txt文件中我有以下依赖项
apache-b
我想在google数据流上运行一个管道,它依赖于另一个管道的输出。现在,我只是在本地使用DirectRunner运行两个管道:
with beam.Pipeline(options=pipeline_options) as p:
(p
| beam.io.ReadFromText(known_args.input)
| SomeTransform()
| beam.io.WriteToText('temp'))
with beam.Pipeline(options=pipeline_options) as p:
(p
|