Apache Beam编译&运行Demo

ApacheBeam源码变异

# 调整下build.gradle
// mavenCentral()
maven { url 'http://maven.aliyun.com/nexus/content/groups/public/'}

# 编译spark-runner
 ./gradlew beam-runners-spark:build

gradle命令学习

./gradlew tasks --all|grep spark

# 编译example示例
cd beam/examples/java &&  ../../gradlew build

常见gradle命令学习:

./gradlew -v 版本号,首次运行,没有gradle的要下载的哦。
./gradlew clean 删除HelloWord/app目录下的build文件夹
./gradlew build 检查依赖并编译打包
./gradlew assembleDebug 编译并打Debug包
./gradlew assembleRelease 编译并打Release的包
./gradlew installRelease Release模式打包并安装
./gradlew uninstallRelease 卸载Release模式包

基于Spark环境运行Beam程序

  • 在Spark的环境中添加beam相关依赖Jar包:
bash-3.2$ ls jars/|grep beam
beam-model-pipeline-2.9.0-SNAPSHOT.jar
beam-runners-core-construction-java-2.9.0-SNAPSHOT.jar
beam-runners-core-java-2.9.0-SNAPSHOT.jar
beam-runners-spark-2.9.0-SNAPSHOT.jar
beam-sdks-java-core-2.9.0-SNAPSHOT.jar
beam-sdks-java-io-hadoop-file-system-2.9.0-SNAPSHOT-unshaded.jar
beam-vendor-grpc-v1_13_1-2.9.0-SNAPSHOT.jar

# 同时需要注意,beam依赖guava-20.0.jar的版本,而spark 2.3.0的默认版本为16.0,所以需要升级guava版本到20.0。
  • 基于Spark环境运行
# 基于local模式运行(测试验证使用)
bin/spark-submit --class org.apache.beam.examples.WordCount --master local[1] ./beam-examples-java-2.9.0-SNAPSHOT.jar  --runner=SparkRunner --inputFile=hdfs:///tmp/README.txt --output=hdfs:///tmp/beam.txt
# 基于yarn模式运行
bin/spark-submit --class org.apache.beam.examples.WordCount --master yarn ./beam-examples-java-2.9.0-SNAPSHOT.jar  --runner=SparkRunner --inputFile=hdfs:///tmp/README.txt --output=hdfs:///tmp/beam.txt

TODO: 基于Flink运行Beam程序

参考:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 源码下载: https://gitlab.com/soundtouch/soundtouch, 源码下载之后里面有...
    曾大稳丶阅读 731评论 0 0
  • “你幸福吗?”这是一个来自央视、被玩坏了的问题。但它的初衷并没有错。 如今,我们关注效率,关注自律,追求知识、事业...
    MoFarah阅读 944评论 0 2
  • 也忘了是从什么时候开始,两个人就变成了陌生人,同一个屋檐下的陌生人。和很多夫妻一样,没孩子之前两个人疯的就...
    昏昏小猫咪阅读 516评论 0 0
  • 幸福就像门神 它站在生活的每个入口 你匆匆忙忙走过 也许看着它习惯却不再留意 幸福就像门神 它在那里 你看到它的时...
    qyuky阅读 315评论 0 0