如何 运行 我在 Google Dataflow 上编写 Beam 管道的 .jar 文件?

How do I run my .jar file where I wrote my Beam pipeline on Google Dataflow?

我用 Apache Beam 管道(用 Java 编写)写了一个 .jar 文件,我想 运行 Google 数据流。我把它装进了一个桶里。当我继续数据流 UI 时,只有一个选项:从模板创建作业。但我不能在那里使用我的 .jar 文件。如何获取我的管道 "into" 数据流?

请按照以下步骤操作

mvn archetype:generate \
      -DarchetypeGroupId=org.apache.beam \
      -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \
      -DarchetypeVersion=2.16.0 \
      -DgroupId=org.example \
      -DartifactId=word-count-beam \
      -Dversion="0.1" \
      -Dpackage=org.apache.beam.examples \
      -DinteractiveMode=false

运行执行命令后,您应该会在当前目录下看到一个名为 word-count-beam 的新目录。 word-count-beam 包含一个简单的 pom.xml

要运行 使用 DataflowRunner 的作业,您需要执行以下命令

mvn -Pdataflow-runner compile exec:java \
      -Dexec.mainClass=org.apache.beam.examples.WordCount \
      -Dexec.args="--project=<PROJECT_ID> \
      --stagingLocation=gs://<STORAGE_BUCKET>/staging/ \
      --output=gs://<STORAGE_BUCKET>/output \
      --runner=DataflowRunner"

请参阅此link了解如何运行 Java 基于云数据流 - https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-maven