让Apache Beam在GCP Cloud Dataflow上跑起来(apache cgi)

  本篇文章为你整理了让Apache Beam在GCP Cloud Dataflow上跑起来(apache cgi)的详细内容,包含有apache brpc apache cgi apache bigtop apachebench 让Apache Beam在GCP Cloud Dataflow上跑起来,希望能帮助你了解 让Apache Beam在GCP Cloud Dataflow上跑起来。

  在文章《Apache Beam入门及Java SDK开发初体验》中大概讲了Apapche Beam的简单概念和本地运行,本文将讲解如何把代码运行在GCP Cloud Dataflow上。

  通过maven命令来创建项目:

  

mvn archetype:generate \

 

   -DarchetypeGroupId=org.apache.beam \

   -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \

   -DarchetypeVersion=2.37.0 \

   -DgroupId=org.example \

   -DartifactId=word-count-beam \

   -Dversion="0.1" \

   -Dpackage=org.apache.beam.examples \

   -DinteractiveMode=false

  

 

  上面会创建一个目录word-count-beam,里面是一个例子项目。做一些简单修改就可以使用了。

  先build一次,保证依赖下载成功:

  

$ mvn clean package

 

  

 

  通过IDEA本地运行一下,添加入参如下:

  

--output=pkslow-beam-counts --inputFile=/Users/larry/IdeaProjects/pkslow-samples/README.md

 

  

 

  处理的文件是README.md,输出结果前缀为pkslow-beam-counts:

  或者通过命令行来运行也可以:

  

mvn compile exec:java \

 

   -Dexec.main "--output=pkslow-beam-counts --inputFile=/Users/larry/IdeaProjects/pkslow-samples/README.md"

  

 

  在GCP Cloud Dataflow上运行

  要有对应的Service Account和key,当然还要有权限;

  要打开对应的Service;

  创建好对应的Bucket,上传要处理的文件。

  然后在本地执行命令如下:

  

$ mvn compile exec:java -Dexec.main "--runner=DataflowRunner --gcpTempLocation=gs://pkslow-dataflow/temp \

 

   --project=pkslow --region=us-east1 \

   --inputFile=gs://pkslow-dataflow/input/README.md --output=gs://pkslow-dataflow//pkslow-counts" \

   -Pdataflow-runner

  

 

  日志比较长,它大概做的事情就是把相关Jar包上传到temp目录下,因为执行的时候要引用。如:

  

Nov 03, 2022 8:41:48 PM org.apache.beam.runners.dataflow.util.PackageUtil tryStagePackage

 

  INFO: Uploading /Users/larry/.m2/repository/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.jar to gs://pkslow-dataflow/temp/staging/commons-compress-1.8.1-X8oTZQP4bsxsth-9F7E31Z5WtFx6VJTmuP08q9Rpf70.jar

  Nov 03, 2022 8:41:48 PM org.apache.beam.runners.dataflow.util.PackageUtil tryStagePackage

  INFO: Uploading /Users/larry/.m2/repository/org/codehaus/jackson/jackson-mapper-asl/1.9.13/jackson-mapper-asl-1.9.13.jar to gs://pkslow-dataflow/temp/staging/jackson-mapper-asl-1.9.13-dOegenby7breKTEqWi68z6AZEovAIezjhW12GX6b4MI.jar

  

 

  查看Bucket,确实有一堆jar包:

  接着会创建dataflow jobs开始工作了。可以查看界面的Jobs如下:

  点进去可以看到流程和更多细节:

  最后到Bucket查看结果也出来了:

  代码请看GitHub: https://github.com/LarryDpk/pkslow-samples

  以上就是让Apache Beam在GCP Cloud Dataflow上跑起来(apache cgi)的详细内容,想要了解更多 让Apache Beam在GCP Cloud Dataflow上跑起来的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: