美文网首页
Apache Beam编译&运行Demo

Apache Beam编译&运行Demo

作者: 分裂四人组 | 来源:发表于2019-04-09 10:07 被阅读0次

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程序

参考:

相关文章

网友评论

      本文标题:Apache Beam编译&运行Demo

      本文链接:https://www.haomeiwen.com/subject/vpgmiqtx.html