- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个管道,它生成的数据流图(序列化 JSON 表示)超出了 API 允许的限制,因此无法像通常那样通过 apache beam 的数据流运行程序启动。并且使用指示参数 --experiments=upload_graph
运行数据流运行程序不起作用,并且失败并提示没有指定步骤。
当通过错误收到有关此尺寸问题的通知时,会提供以下信息:
the size of the serialized JSON representation of the pipeline exceeds the allowable limit for the API.
Use experiment 'upload_graph' (--experiments=upload_graph)
to direct the runner to upload the JSON to your
GCS staging bucket instead of embedding in the API request.
现在使用此参数确实会导致数据流运行程序将额外的 dataflow_graph.pb
文件上传到通常的 pipeline.pb 文件旁边的暂存位置。我验证了它确实存在于 gcp 存储中。
但是,gcp 数据流中的作业在启动后立即失败,并出现以下错误:
Runnable workflow has no steps specified.
我已经在各种管道上尝试过这个标志,甚至是 Apache Beam 示例管道,并看到了相同的行为。
这可以通过使用字数统计示例来重现:
mvn archetype:generate \
-DarchetypeGroupId=org.apache.beam \
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
-DarchetypeVersion=2.11.0 \
-DgroupId=org.example \
-DartifactId=word-count-beam \
-Dversion="0.1" \
-Dpackage=org.apache.beam.examples \
-DinteractiveMode=false
cd word-count-beam/
在没有 experiments=upload_graph
参数的情况下运行它是有效的:(如果您想运行它,请确保指定您的项目和存储桶)
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=DataflowRunner --project=<your-gcp-project> \
--gcpTempLocation=gs://<your-gcs-bucket>/tmp \
--inputFile=gs://apache-beam-samples/shakespeare/* --output=gs://<your-gcs-bucket>/counts" \
-Pdataflow-runner
使用 experiments=upload_graph
运行它会导致管道失败,并显示消息工作流程没有指定步骤
mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \
-Dexec.args="--runner=DataflowRunner --project=<your-gcp-project> \
--gcpTempLocation=gs://<your-gcs-bucket>/tmp \
--experiments=upload_graph \
--inputFile=gs://apache-beam-samples/shakespeare/* --output=gs://<your-gcs-bucket>/counts" \
-Pdataflow-runner
现在我希望数据流运行程序会指示 gcp 数据流从源代码中所示的指定存储桶中读取步骤:
然而事实似乎并非如此。有没有人让它工作,或者找到一些有关此功能的文档可以为我指明正确的方向?
最佳答案
该实验已被恢复,并且消息将在 Beam 2.13.0 中得到纠正
恢复PR
关于google-cloud-dataflow - 使用 --experiments=upload_graph 让 Dataflowrunner 工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55828681/
我有一个管道,它生成的数据流图(序列化 JSON 表示)超出了 API 允许的限制,因此无法像通常那样通过 apache beam 的数据流运行程序启动。并且使用指示参数 --experiments=
我是一名优秀的程序员,十分优秀!